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

如何移除对象属性数组中的指定元素?

移除对象数组中cars属性的指定元素

方法一:直接修改原数组

遍历数组中的每个对象,对cars数组使用filter方法过滤掉目标元素,直接覆盖原属性:

const array = [
  { name: "Jack", age: 25, cars: ["bmw", "tesla", "ford", "honda"] },
  { name: "Alice", age: 30, cars: ["ford", "toyota"] }
];

const targetCar = "ford";

array.forEach(obj => {
  // 兼容对象无cars属性或cars非数组的情况,避免报错
  obj.cars = (obj.cars || []).filter(car => car !== targetCar);
});

console.log(array);

方法二:创建新数组(不修改原数据)

如果需要保留原数组的完整性,使用map生成新数组,每个对象都是原对象的副本,同时替换过滤后的cars数组:

const array = [
  { name: "Jack", age: 25, cars: ["bmw", "tesla", "ford", "honda"] },
  { name: "Alice", age: 30, cars: ["ford", "toyota"] }
];

const targetCar = "ford";

const newArray = array.map(obj => ({
  ...obj, // 复制原对象的所有属性
  cars: (obj.cars || []).filter(car => car !== targetCar) // 过滤目标元素
}));

console.log(newArray);

补充说明

  • filter方法会返回一个新数组,仅保留不等于目标值的元素
  • (obj.cars || [])的判断用于处理边界情况,防止因cars不存在或类型错误导致的运行异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 05:15:45