对于以下特定情况,似乎使用.find函数比仅使用元素的索引要快得多。为什么是这样?

javascript - 为什么通过其索引访问数组的元素比使用.find()函数要慢?-LMLPHP

最佳答案

您可以使用其他方法通过使用随机数来查找对象。

指数:

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/

10-12 07:34