【发布时间】:2020-05-17 00:12:23
【问题描述】:
我有一个对象数组:
const car = [{
color: 'blue',
brand: 'Ford'
},{
color: 'red',
brand: 'Chevy'
}]
我正在尝试创建一个删除给定属性的函数。例如,我想从所有汽车对象中删除“颜色”属性。如果我编写以下代码,它可以工作:
car.forEach(function(v){ delete v.color})
但是,如果我尝试创建一个函数来执行此操作,它就不起作用:
function removeP(arr, keyPar) {
arr.forEach(function(v){ delete v.keyPar});
}
removeP(car, color)
我也尝试将函数调用为:
removeP(car,'color')
其中,至少不会给我一个错误,但也不起作用。
为什么这个功能不起作用?
【问题讨论】:
-
改用括号表示法
-
@BradyB 如果您只需要从对象数组中获取某些属性,您可以使用
map像这样:car.map(({brand})=>({brand}))
标签: javascript arrays function object nested