How to remove a property from a JavaScript object

怎么删除一个对象上的属性呢?

  1. dlete
const car = {
  color: 'blue',
  brand: 'Ford'
}
delete car.brand
delete car['brand']
delete car.brand
delete newCar['brand']
  1. 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
}, {})

主要是考虑到性能的问题,才会去比较这几种方式,选择一种最优的方式。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐