javascript - 用于循环更改值的对象数组与数组重建

标签 javascript arrays performance

我有一个对象数组

x = [{id:null},{id:null},{id:null},{id:null}];

假设数组的值发生了变化

x = [{id:1},{id:3},{id:8},{id:12}];

我想将值恢复为全部 null,哪种方法的性能会更快

A) 再次重建数组

 x=[];
 for (var i=0; i<5; i++) {
    var obj = {};
    obj.id = null;
    x.push(obj);
 }

B) 重置值

for (var i in x) {
    x.id = null;
}

最佳答案

除非您有数千个元素,否则您永远不会注意到性能差异。

但是第二个解决方案比第一个解决方案更清晰。

或者,为了明确 x 是一个数组:

for (var i = 0; i < x.length; ++i) {
  x[i].id = null;
}

关于javascript - 用于循环更改值的对象数组与数组重建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29229291/

相关文章:

c - 使用 pthreads 加速 C 程序

javascript - 有没有一种方法可以使用检查元素在Electron中选择元素?

javascript - 如何段落绘制到 Canvas 上的文本

javascript - 在单个循环中将字符串与数组的所有元素进行比较

linux - 仅显示带有 Perf 注释的源代码

c - strstr 表现的几率

Javascript 数组 - 如何选择一个随机的十六进制值?

javascript - 计算一个数组中的单词在第二个数组中出现的次数

java - 使用 findKth 查找最低、最高、中位数和平均分

javascript - Ajax 响应未定义或奇怪