javascript - 如何迭代多个对象并删除某个属性

标签 javascript object

我想先说我对编码很陌生(抱歉,如果这是一个非常简单的查询 - 但它让我感到难过!)

我第一次尝试遍历对象并删除指定的键值对。

我有一个包含用户对象数组的函数,在该数组中我想从每个对象中删除人名。

我尝试使用 .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/

相关文章:

javascript - JS-遍历对象

javascript - MongoDB - 不明白如何使用游标遍历集合

javascript - HTML - 如何在固定上下文中的移动设备上拖放

javascript - IE 7 中重新加载页面会清除输入字段中的文本

javascript - 回复从jquery到rails的帖子

javascript - 对对象中的方法和属性使用相同的变量

Javascript 合并键和值

javascript - 有没有办法用 Lodash 的包装一次包装多个参数

javascript - 优化通用编辑功能

java - 使用 .properties 文件中的值设置此类的成员变量的最佳方法是什么?