最佳答案
您可以使用不同的方法,即使用随机数来查找对象。
索引:
var i = Math.floor(Math.random() * 10),
o = array[i];
与查找:
var i = Math.floor(Math.random() * 10),
o = array.find(o => o.id === i);
使用共享数据
var array = [{ id: 0 }, { id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }, { id: 7 }, { id: 8 }, { id: 9 }];
然后你从 jsperf 得到(带边缘):
Index: 31,707,818 ±0. 92% fastest
Find: 5,001,388 ±1.51% 84% slower
结论
索引访问比使用 Array#find
更快.
关于javascript - 为什么通过索引访问数组元素比使用 .find() 函数慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45435809/