我想先说我对编码很陌生(抱歉,如果这是一个非常简单的查询 - 但它让我感到难过!)
我第一次尝试遍历对象并删除指定的键值对。
我有一个包含用户对象数组的函数,在该数组中我想从每个对象中删除人名。
我尝试使用 .length 属性遍历对象,但得到的结果是 Reference Error: name is not defined.
当我尝试以下操作时它有效(但这并不理想,因为我希望代码在没有指定单独索引号的情况下运行):
delete users[0].name;
delete users[1].name;
for (let i = 0; i < users.length; i++) {
if (users[i] === name) {
users.splice(i, 1);
}
return users;
}
实际结果:ReferenceError: name is not defined
我希望结果从对象中删除 name: ' ' 值。
最佳答案
您可以迭代数组并删除不需要的属性。这会改变给定的数据。
for (var i = 0; i < users.length; i++) {
delete users[i].name;
}
高级版本使用不需要的属性进行解构,并使用 rest 语法获取所有其他属性并返回此对象。
users = users.map(({ name, ...object }) => object);
关于javascript - 如何迭代多个对象并删除某个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55609280/