javascript - 过滤对象数组的性能

标签 javascript performance object optimization filter

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

相关文章:

Javascript:取数组的第n个元素

sql-server - Memcached 与 SQL Server 缓存

javascript - 如何在javascript中根据数组中的路径遍历嵌套对象?

javascript - 我可以使一个对象与另一个对象具有相同的顺序吗?

javascript - html5应用程序缓存强制更新

javascript - 传单在悬停时显示 map - map 加载不正确

python - 为 sklearn 的 SVC 使用自定义 rbf 核函数比内置方法快得多

javascript - var flashElements = document.getElementsByTagName ("EMBED"的最佳替代品;

javascript - 如果没有鼠标移动如何重定向并显示当前计时器倒计时

SQL Server - 加入 4 个快速查询给我一个慢速查询