javascript - 删除数组中所有对象的属性

标签 javascript javascript-objects

我想从数组中的每个对象中删除 bad 属性。有没有比使用 for 循环并从每个对象中删除它更好的方法呢?

var array = [{"bad": "something", "good":"something"},{"bad":"something", "good":"something"},...];

for (var i = 0, len = array.length; i < len; i++) {
  delete array[i].bad;
}

似乎应该有一种方法可以使用 prototype 之类的东西。我不知道。想法?

最佳答案

使用 ES6,您可以解构每个对象以创建没有命名属性的新对象:

const newArray = array.map(({dropAttr1, dropAttr2, ...keepAttrs}) => keepAttrs)

关于javascript - 删除数组中所有对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18133635/

相关文章:

javascript - 为什么变量值要传递到这里

javascript - Tween.js 缓动不起作用

javascript - Javascript 构造函数中的私有(private)函数不可公开访问

javascript - 正确循环ajax返回的json对象

javascript - 如果对象是通过引用传递的,我如何在函数式编程中处理它们

javascript - Web 浏览器如何决定从服务器接收的文件的入口点?

javascript - 原型(prototype) - 向类添加函数

json - 将 curl POST 与 bash 脚本函数中定义的变量一起使用

javascript - 动态重组对象数组,每个对象包含两个属性值对

javascript - 使用 Object Javascript 在 foreach 循环中的最后一次迭代