如何從JavaScript對象中刪除屬性?
作者:前端小混混
在使用 JavaScript 中的對象時,你可能會遇到需要從對象中完全刪除屬性的情況。為實現(xiàn)這一點可以有好幾個選擇。
1.將屬性設(shè)置為 undefined
將屬性設(shè)置為 undefined 不是最好的方法,因為屬性本身仍將存在于對象中。它還會改變原始對象,這可能是你所不希望的。
- const pet = {
- species: 'dog',
- age: 3,
- name: 'celeste',
- gender: 'female'
- };
- pet.gender = undefined;
- Object.keys(pet); // ['species', 'age', 'name', 'gender']
2.使用 delete 操作符
從技術(shù)上講用 delete 操作符是從 JavaScript 對象中刪除屬性的正確方法。與上一個方法不同,delete 將完全從對象中刪除屬性,但它仍然會導(dǎo)致原始對象的發(fā)生改變。
- const pet = {
- species: 'dog',
- age: 3,
- name: 'celeste',
- gender: 'female'
- };
- delete pet.gender;
- Object.keys(pet); // ['species', 'age', 'name']
3.使用對象解構(gòu)
通過用展開運算符(...)可以將需要省略特定屬性的對象解構(gòu)到新對象。這個技巧在需要刪除多個屬性時特別有用,并且不會更改原始對象。
- const pet = {
- species: 'dog',
- age: 3,
- name: 'celeste',
- gender: 'female'
- };
- const { gender, ...newPet } = pet;
- Object.keys(pet); // ['species', 'age', 'name', 'gender]
- Object.keys(newPet); // ['species', 'age', 'name']
責(zé)任編輯:華軒
來源:
前端先鋒