在 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