Výkon pole indexOf() vs zahrnuje() v závislosti na prohlížeči a pozici jehly

Existuje nějaká výhoda Array.prototype.includes() oproti Array.prototype.indexOf() v závislosti na prohlížečích (Chrome, Firefox) a pozici položky jehly (na začátku, uprostřed, na konci pole)?

Array.prototype.includes vs. Array.prototype.indexOfNeexistují žádné informace specifické pro prohlížeč, v informacích specifických pro pole není žádná pozice a já se neptám na NaN hodnotu.

Odpověď

Udělal jsem test pomocí pole s 10 000 číselnými hodnotami, zde jsou výsledky:

Chrome:

  • začátek
    • zahrnuje (22 043 904 ops/s)
    • index Of (136 512 737 ops/s)
  • uprostřed
    • zahrnuje (8 361 operací/s)
    • index Of (31 296 ops/s)
  • končí
    • zahrnuje (4 018 operací/s)
    • index Of (95 221 ops/s)

Firefox:

  • začátek
    • zahrnuje (34 087 623 ops/s)
    • index Of (33 196 839 ops/s)
  • uprostřed
    • zahrnuje (84 880 ops/s)
    • index Of (86 612 ops/s)
  • končí
    • zahrnuje (25 253 ops/s)
    • indexOf (14 994 ops/s)

Takže indexOf() v Chrome funguje mnohem rychleji než includes() ve všech pozicích.

Ve Firefoxu obě indexOf() a includes() funguje téměř podobně.