删除对象属性的三种方法
·
How to remove a property from a JavaScript object
怎么删除一个对象上的属性呢?
- dlete
const car = {
color: 'blue',
brand: 'Ford'
}
delete car.brand
delete car['brand']
delete car.brand
delete newCar['brand']
- Setting a property to undefined
如果你需要以一种非常优化的方式来执行这个操作,例如当你在循环中对大量的对象进行操作时,另一个选择是将该属性设置为未定义。
由于它的性质,删除的性能要比简单的重新赋值到undefined慢很多,慢了50倍以上。
然而,请记住,该属性并没有从对象中删除。它的值被抹去了,但如果你迭代对象,它仍然存在
3. 通过赋值得到方式
const car = {
color: 'blue',
brand: 'Ford'
}
const prop = 'color'
const newCar = Object.keys(car).reduce((object, key) => {
if (key !== prop) {
object[key] = car[key]
}
return object
}, {})
主要是考虑到性能的问题,才会去比较这几种方式,选择一种最优的方式。
更多推荐
已为社区贡献1条内容
所有评论(0)