如果我有一个称为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

10-07 21:50