【发布时间】:2015-07-16 11:14:24
【问题描述】:
如果我有一个名为 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 之类的函数,这会消耗大量时间。
【问题讨论】:
-
什么是
filteredList?它是array或object。它是一个对象,然后性能将被禁食。
标签: javascript performance object optimization filter