如果我有一个名为 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
的函数,它消耗了大量时间。
最佳答案
您可以使用 Array.prototype.filter方法。示例即将推出
关于性能,您应该在这里阅读:Fastest way to find an item in a JavaScript Array
关于javascript - 过滤对象数组的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31452596/