【发布时间】:2013-08-10 14:45:46
【问题描述】:
我想从数组中的每个对象中删除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 或其他东西。我不知道。想法?
【问题讨论】:
-
没关系,其他方式不能低于线性 O(n)。无论您使用什么,都需要访问您的所有数组元素
-
原型?那会有什么帮助?还是所有这些对象都是同一个构造函数的实例并共享
bad的共同值? -
@Bergi 我想知道他们指的是prototypeJS,还是
Array原型,dystroy就是例子 -
我不确定您是否应该在循环之前将 array.length 存储在变量中。我敢肯定,如果您进行分析,您会发现这不值得痛苦。
-
@ZackArgyle 是的,一般情况下没有什么比这更快了。
标签: javascript javascript-objects