添加
1.Object.assign():用法-Object.assign(源對象, {要添加的鍵值對})
2.拓展運算符(...):用于取出參數(shù)對象所有可遍歷屬性然后拷貝到當前對象
3.object[key] = value:直接給新的key賦值
刪除
1.將屬性設置為 undefined:屬性本身仍將存在于對象中,它還會改變原始對象。
pet.gender = undefined;
2.使用 delete 操作符:delete 將完全從對象中刪除屬性,會導致原始對象的發(fā)生改變,但速度很慢。
delete pet.gender;
- delete操作符移除對象指定屬性,刪除成功返回true,否則返回false。
- 刪除的屬性不存在,delete不會起任何作用 ,但是仍會返回true。
- 如果原型鏈有同名屬性,只會刪除自身的屬性。
- delete不能刪除全局作用域函數(shù)以及作用域中用let或const聲明的屬性。
- delete可以刪除對象的函數(shù)。
- 不可設置屬性不能被刪除。比如Math、Array、Object內置對象屬性以及使用Object.defineProperty()方法設置的屬性。
3.使用對象解構:通過用展開運算符(…)可以將需要省略特定屬性的對象解構到新對象。這個技巧在需要刪除多個屬性時特別有用,并且不會更改原始對象。文章來源:http://www.zghlxwxcb.cn/news/detail-620666.html
const { gender, ...newPet } = pet; //newPet為刪除后的
4.使用Reflect:ES6新增的方法,Reflect.deleteProperty(對象,屬性名),返回一個布爾值。文章來源地址http://www.zghlxwxcb.cn/news/detail-620666.html
Reflect.deleteProperty(pet, 'gender')
到了這里,關于js在數(shù)組對象中添加和刪除鍵值對(對象屬性)的方法的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!