在 JavaScript 中移除陣列中所有物件的屬性?
我們在本文中將執行的任務是“在 JavaScript 中移除陣列中所有物件的屬性”。
JavaScript 中的物件由一系列鍵值對組成。其中的一對鍵值被稱為物件屬性。對於屬性的鍵和值,可以使用任何資料型別,包括數字、字串、陣列、物件等。
有兩種方法:一種是可變的,使用 delete 運算子;另一種是不可變的,使用物件重構。讓我們討論一下這種方法。
delete 運算子
delete 運算子會同時刪除屬性的值和屬性本身。刪除後的屬性需要重新新增才能再次使用。delete 運算子可用於物件屬性。變數和函式不受影響。
示例
在以下示例中,我們使用 delete 方法刪除陣列中的物件。
<!DOCTYPE html>
<html>
<body>
<p id = "tutorial"></p>
<script>
const arr = [
{id: 1, name: 'teja', test: 'abd'},
{id: 2, name: 'suri', test: 'msd'},
];
arr.forEach(object => {
delete object['name'];
});
document.getElementById("tutorial").innerHTML= JSON.stringify(arr);
</script>
</body>
</html>
當指令碼執行時,它將在 Web 瀏覽器上顯示一個數組輸出,其中使用 delete 方法(在使用者執行指令碼時觸發)從實際陣列中刪除了物件。
物件解構
使用物件解構和剩餘語法是另一種以不可變的方式移除屬性的方法,而不會更改原始物件。
delete 運算子每次呼叫只能刪除一個屬性。因此,如果要移除 age 和 gender 屬性,則需要進行兩次 delete 呼叫。或者,您可以使用一次物件解構呼叫移除多個屬性。
示例
考慮以下示例,我們使用物件解構來移除物件。
<!DOCTYPE html>
<html>
<body>
<p id = "tutorial"></p>
<script>
const person = {
firstName: "don",
lastName: "bosco",
gender: "Male",
age: 21
};
const {age, gender, ...personTrimmed} = person;
const json = JSON.stringify(personTrimmed);
document.getElementById("tutorial").innerHTML=JSON.stringify(json);
</script>
</body>
</html>
示例
讓我們來看另一個示例,其中我們使用 delete 關鍵字在 JavaScript 中移除屬性。
<!DOCTYPE html>
<html>
<body>
<p id = "tutorial"></p>
<script>
var values = [
{
"firstName": "John",
"lastName":"Smith"
},
{
"firstName": "David",
"lastName":"Miller"
},
{
"firstName": "Adam",
"lastName":"Smith"
}
];
values.forEach(function(obj){ delete obj.lastName });
document.getElementById("tutorial").innerHTML=JSON.stringify(values);
</script>
</body>
</html>
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP