如果我有一个名为filteredList
的对象数组和一个函数,例如:
function buildList(filteredList, p1, p2, p3) {
var resultList = [];
for (var i =0; i < filteredList.length; i++) {
if (filteredList[i].type === 'global' && filteredList[i].p1 === p1 && filteredList[i].p2 === p2 && filteredList[i].p3 === p3)
resultList.push(filteredList[i]);
}
return resultList;
}
如果不是像我一样循环遍历我的数组,那么性能差异会是什么,我会做类似的事情:filteredList.filter(rebuildList)
rebuildList
是一个检查与buildList
会这样做吗? (循环遍历每个元素)
您能想到更优化和有效的方法吗?我在项目中多次调用buildList
这样的函数,耗费了大量时间。
答案 0 :(得分:3)
您可以使用Array.prototype.filter方法。示例即将推出
关于表现,你应该在这里阅读:Fastest way to find an item in a JavaScript Array