You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从JavaScript对象数组中移除所有含指定键值的对象

可行实现方案
  • 方案1:使用filter方法(无副作用,推荐优先使用)
    filter方法会返回符合条件的元素组成的新数组,不会修改原数组,是最常用的实现方式:
// 过滤出所有name不等于a的元素组成新数组
const newArray = myArray.filter(item => item.name !== 'a');

如果需要直接覆盖原变量,直接赋值即可:myArray = myArray.filter(item => item.name !== 'a');

  • 方案2:原地修改原数组(适配需要修改原数组的场景)
    如果要求直接修改原数组,推荐倒序遍历配合splice方法,避免正序删除导致的索引偏移漏项问题:
for (let i = myArray.length - 1; i >= 0; i--) {
  if (myArray[i].name === 'a') {
    // 从索引i位置删除1个元素
    myArray.splice(i, 1);
  }
}
  • 方案3:使用reduce方法(适配需要同步做其他数据处理的场景)
    如果过滤的同时还要对元素做其他转换操作,可以用reduce实现,灵活度更高:
const result = myArray.reduce((res, current) => {
  if (current.name !== 'a') {
    // 此处可额外对current做自定义处理后再推入结果数组
    res.push(current);
  }
  return res;
}, []);

内容的提问来源于stack exchange,提问作者CoderGuruXYZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 08:06:03