对于以下特定情况,似乎使用.find函数比仅使用元素的索引要快得多。为什么是这样?
最佳答案
您可以使用其他方法通过使用随机数来查找对象。
指数:
var i = Math.floor(Math.random() * 10),
o = array[i];
vs查找:
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(使用EDGE)获得:
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/