Array.prototype.indexOf()上的Array.prototype.includes()是否有任何优势,具体取决于浏览器(Chrome,Firefox)和针项位置(在数组的乞讨,中间,结尾)?
Array.prototype.includes vs. Array.prototype.indexOf
没有浏览器特定信息,阵列特定信息中没有位置,我也不会询问NaN
值。
答案 0 :(得分:3)
我使用具有10 000个数值的数组进行了测试,结果如下:
铬:
火狐:
因此,Chrome中的indexOf()
在所有位置的工作速度都比includes()
快得多。
在Firefox中,indexOf()
和includes()
的工作方式几乎相似。
答案 1 :(得分:1)
以下是要比较includes和indexOf的JSperf,它们非常接近,但include()将比最新chrome中的indexOf更快。
我的理解并非所有浏览器都支持包含,但此API更易于理解和维护。
答案 2 :(得分:1)
如果您对表演感到疑惑,这里的JSperf测试往往表明时间越长,includes()
越多indexOf
。
恕我直言,我也更愿意写if (arr.includes(el)) {}
,因为它比if (arr.indexOf(el) !== -1) {}