Javascript 迭代对象循环并更改属性js

Javascript 迭代对象循环并更改属性js,javascript,Javascript,我有一组对象和一组对象: words = [{id: 1, selected: true}, {}, {},...] 我需要取消选择所有单词,我将有多达10k个单词,所以我想知道什么会更快: words.filter(x => x.selected).forEach(function(w){ w.selected = false }) 或者只是: words.forEach(function(w){ w.selected = false }) ps:我使用一个前端框架

我有一组对象和一组对象:

words = [{id: 1, selected: true}, {}, {},...]
我需要取消选择所有单词,我将有多达10k个单词,所以我想知道什么会更快:

words.filter(x => x.selected).forEach(function(w){
    w.selected = false
})
或者只是:

words.forEach(function(w){
    w.selected = false
})
ps:我使用一个前端框架,在这种情况下这并不重要,所以我不需要更改我的数组-如果我更改了项目,它会自动更改

缴费灵: 你为什么要投票或闭幕?
我对我的问题有两种不同的评论,它们说的是相反的东西。

如果你看下面的代码片段,你会发现运行它会给你不同的结果,哪一个函数每次都更快。这真的取决于你,因为两者都不能在速度上提供很大的功能差异


var words=[{id:1,selected:true},{id:2,selected:true},{id:3,selected:true},{id:5,selected:true},{id:6,selected:true},{id:7,selected:true},{id:8,selected:true},{id:9,selected:true},{id:10,selected:true}];
控制台时间('function1');
功能1();
console.timeEnd('function1');
控制台时间('function2');
函数2();
console.timeEnd('function2');
函数function1(){
words.filter(x=>x.selected).forEach(函数(w){
w、 所选=假;
});
}
函数function2(){
words.forEach(函数(w){
w、 所选=假;
});
}

您必须以这种或那种方式遍历整个列表。这可能没有什么实际意义;做你认为更好的。只做一次迭代的那个会“客观地”更快。我把它放在引号里,因为给定的操作非常简单。您应该为这两个选项分析代码。本质上,你是在问我应该迭代100项还是120项。