indexOf(), indeksiluvun()

Javascript metodi indexOf(), indeksiluvun() suomeksi, palauttaa indeksiluvun, missä metodille annettu alkio on taulukossa.

indexOf(alkio, alkaenIndeksiluvusta)

alkio muuttuja
alkaenIndeksiluvusta numero (valinnainen)

indexOf() etsii taulukon alusta alkaen muuttujaa, joka vastaa annettua alkiota. Kun sama alkio tulee vastaan, sitä vastaava indeksiluku palautetaan. Taulukon indeksiluvut alkaa nollasta, joten jos vastaava alkio on ensimmäisenä, palautetaan arvo nolla.

> ['a', 'b', 'c', 'a'].indexOf('a')
0

> ['a', 'b', 'c', 'b'].indexOf('b')
1

Jos taulukosta ei löydy vastaavaa alkiota, indexOf() palauttaa -1. Vertailu alkioiden kesken tehdään tiukan samankaltaisuuden perusteella kuten ’===’, joten esimerkiksi numero ja sama numero merkkijonona ei vastaa toisiaan. Myöskään kaksi saman tiedon sisältävää oliota ei vastaa toisiaan.

> ['a', 'b', 'c'].indexOf('d')
-1

> ['1', '2', '3'].indexOf(1)
-1

> [{ a: 1 }, { a: 2 } ].indexOf({ a: 1 })
-1

indexOf() metodille voi antaa toisena parametrinä indeksiluvun, josta alkaen samanlaista alkiota etsitään. Jos parametrinä annetaan indeksiluku, joka on pidempi tai yhtä pitkä kuin taulukko itse, palautetaan suoraan -1 ilman etsintää.

Jos annettu indeksiluku on negatiivinen, sijainti, mistä etsintä aloitetaan, lasketaan taulukon lopusta. Esimerkiksi -1 vastaa taulukon viimeistä alkiota. -2 taulukon toiseksi viimeistä alkiota.

> ['a', 'b', 'c', 'a'].indexOf('a', 1)
3

> ['a', 'b', 'c', 'a'].indexOf('a', 4)
-1

> ['a', 'b', 'c', 'a'].indexOf('a', -1)
3

indexOf() on at() metodin vastinpari. at() palauttaa alkion indeksiluvun mukaan, indexOf() palauttaa indeksiluvun annetun alkion mukaan.

lastIndexOf() etsii alkiota lopusta lähtien.

Jätä kommentti