如何从JavaScript对象中删除属性?

时间:2022-09-09 10:41:13
如何从JavaScript对象中删除属性?

 1.将属性设置为 undefined

将属性设置为 undefined 不是最好的方法,因为属性本身仍将存在于对象中。它还会改变原始对象,这可能是你所不希望的。

  1. const pet = { 
  2.   species: 'dog'
  3.   age: 3, 
  4.   name'celeste'
  5.   gender: 'female' 
  6. }; 
  7.  
  8. pet.gender = undefined; 
  9. Object.keys(pet); // ['species''age''name''gender'

2.使用 delete 操作符

从技术上讲用 delete 操作符是从 JavaScript 对象中删除属性的正确方法。与上一个方法不同,delete 将完全从对象中删除属性,但它仍然会导致原始对象的发生改变。

  1. const pet = { 
  2.   species: 'dog'
  3.   age: 3, 
  4.   name'celeste'
  5.   gender: 'female' 
  6. }; 
  7.  
  8. delete pet.gender; 
  9. Object.keys(pet); // ['species''age''name'

3.使用对象解构

通过用展开运算符(...)可以将需要省略特定属性的对象解构到新对象。这个技巧在需要删除多个属性时特别有用,并且不会更改原始对象。

  1. const pet = { 
  2.   species: 'dog'
  3.   age: 3, 
  4.   name'celeste'
  5.   gender: 'female' 
  6. }; 
  7.  
  8. const { gender, ...newPet } = pet; 
  9. Object.keys(pet); // ['species''age''name', 'gender] 
  10. Object.keys(newPet); // ['species''age''name'

原文地址:https://mp.weixin.qq.com/s?__biz=MzI3NzIzMDY0NA==&mid=2247500535&idx=2&sn=31576b5c6ce74d744400c3ff2f1eb790&chksm=eb6be7acdc1c6eba8e4058f3c1f7a005f00dceaea54b43b736783a9a5916d7803702aae0453d&mpshare=1&