Kaikki koodaa englanniksi ja sen takia suomenkieliset vastineet sanoille on unohtuneet. Ei hätää. Keräsin tänne nipun niitä. Keskityn tässä Javascriptin taulukkoihin ja niiden metodeihin.
Perusteet
Käydään ensiksi taulukon perusteet sekä niiden suomenkieliset vastineet läpi.
array taulukko
item alkio
Taulukko muodostuu alkioista.
> ['alkio']
[ 'alkio' ]
constructor muodostinaliohjelma
Muodostinaliohjelmalla luodaan uusi taulukko.
> new Array()
[]
length pituus
Pituus on alkioiden määrä taulukossa.
> [1, 2].length
2
Alla video Javascript taulukkojen perusteista.
Indeksilukuja
Taulukon alkioilla on järjestys ja jokaisella on oma indeksiluku.
index indeksiluku
Taulukon alkion sijainnin numero. Ensimmäinen alkio on nolla ja toinen yksi ja niin edespäin.
indexOf indeksiluvun
Etsitään indeksiluku, jossa sijaitseva alkio vastaa annettua arvoa.
> ['a', 'b', 'c', 'b'].indexOf('b')
1
lastIndexOf indeksiluvunLopusta
Etsitään lopusta lähtien indeksiluku, jossa sijaitseva alkio vastaa annettua arvoa.
> ['a', 'b', 'c', 'b'].lastIndexOf('b')
3
findIndex etsiIndeksiluku
Etsitään indeksiluku, jonka vastaavalle alkiolle aliohjelma palauttaa tosi arvon.
> ['a', 'b', 'c', 'b'].findIndex(alkio => alkio === 'b')
1
Tutkitaan taulukon alkioita
Taulukon alkioita tarvitsee usein käydä läpi ja etsiä niistä jotain tiettyä ominaisuutta.
includes sisältää
Tutkitaan sisältääkö taulukko annetun arvon. Jos yksikin alkio on sama kuin se mikä on annettu parametriksi, palautetaan tosi. Muuten palautetaan epätosi.
> [1, 2, 3].includes(3)
true
> [1, 2, 3].includes(4)
false
Käydään taulukkoa läpi
forEach käyLäpi
Käydään läpi jokainen taulukon alkio vuorotellen ja tehdään niille jotain.
> [1, 2, 3].forEach(alkio => console.log(alkio))
1
2
3
Luo uusi taulukko vanhan pohjalta
Olemassa olevaa taulukkoa pohjana käyttäen voidaan luoda uusi taulukko.
map muuta
Luodaan uusi taulukko suorittamalla taulukon jokaiselle alkiolle aliohjelma ja palauttamalla sen lopputulos.
> [ 1, 2, 3 ].map(alkio => alkio * 2)
[ 2, 4, 6 ]
flatMap muutaLitistäen
Luodaan uusi taulukko alkuperäisen pohjalta ja litistetään se eli poistetaan uuden taulukon jokaisesta alkiosta yksi taso.
> [[1], [2], [3]].flatMap(alkio => alkio * 2)
[ 2, 4, 6 ]
filter suodata
Suodatetaan taulukosta alkiot, jotka ei täytä vaatimusta.
> [1, 2, 3].filter(alkio => alkio > 1)
[ 2, 3 ]
slice kopioi
Kopioidaan osa taulukosta aloittaen annetusta indeksiluvusta ja lopettaen toiseen indeksilukuun.
> [6, 7, 8, 9].slice(1, 3)
[ 7, 8 ]
concat yhdistä
Yhdistetään annetut taulukot toisiinsa luoden uuden taulukon.
> [1, 2].concat([3, 4])
[ 1, 2, 3, 4 ]
Muokataan taulukkoa
Näillä metodoilla muokataan itse taulukkoa eikä tehdä taulukosta uutta kopiota. Metodit myös palauttavat muutetun taulukon.
copyWithin kopioiSisällä
Kopioidaan taulukon sisällä arvoja. Kopioidut luvut tallennetaan ensimmäisessä parametrissä olevaan indeksiluvun osoittamaan paikkaan. Toinen parametri kertoo mistä indeksiluvun osoittamasta paikasta kopiointi aloitetaan ja kolmas indeksiluku kertoo mihin paikkaan kopiointi lopetetaan.
> ['a', 'b', 'c', 'd'].copyWithin(1, 2, 4)
[ 'a', 'c', 'd', 'd' ]
reverse käännä
Käännetään taulukon alkiot ympäri siten että taulukon ensimmäinen alkio on nyt viimeinen ja niin edespäin.
> [1, 2, 3, 4].reverse()
[ 4, 3, 2, 1 ]
fill täytä
Täytetään taulukko annetulla arvolla. Metodille voi antaa lisäparametrejä, joilla voi täyttää vain osan taulukosta.
> [1, 2, 3, 4].fill(1)
[ 1, 1, 1, 1 ]
> [1, 2, 3, 4].fill(1, 2, 4)
[ 1, 2, 1, 1 ]
sort järjestä
Järjestetään taulukon alkiot. Jos metodille ei anneta vertailualiohjelmaa, niin metodi järjestää luvut pienimmästä suurimpaan.
> [ 9, 8, 7, 6 ].sort()
[ 6, 7, 8, 9 ]
> [6, 7, 8, 9].sort((a, b) => a > b ? -1 : 1)
[ 9, 8, 7, 6 ]
Alkion lisäys ja poisto
Taulukkoa voidaan muokata myös lisäämällä tai poistamalla siitä alkioita.
pop poista
Poistetaan viimeinen alkio taulukosta.
> a = [1, 2, 3]
> a.pop()
3
> console.log(a)
[1, 2]
push työnnä
Työnnetään annettu alkio taulukon viimeiseksi.
> a = [1, 2, 3]
> a.push(4)
4
> console.log(a)
[1, 2, 3, 4]
shift nappaa
Napataan ensimmäinen alkio pois taulukosta.
> a = [1, 2, 3]
> a.shift()
1
> console.log(a)
[2, 3]
unshift puske
Pusketaan annettu alkio taulukkoon ensimmäiseksi.
> a = [1, 2, 3]
> a.unshift(0)
4
> console.log(a)
[0, 1, 2, 3]
splice puno
Punotaan annettu alkio taulukkoon määrättyyn paikkaan. Ylikirjoitetaan alkuperäisen taulun alkioita tai lisätään poistamatta niitä riippuen annetuista parametreistä.
> a = [1, 2, 3]
[ 1, 2, 3 ]
> a.splice(1, 0, 4)
[]
> console.log(a)
[ 1, 4, 2, 3 ]
Sievennä
reduce sievennä
Sievennetään taulukon alkiot yhdeksi muuttujaksi käymällä aliohjelmalla läpi jokaisen alkion. Jokaisen aliohjelma-ajon lopputulos annetaan seuraavalle aliohjelma-ajolle. Toinen parametri on alkuarvo ensimmäiselle aliohjelma-ajolle.
> ['a', 'b', 'c', 'd'].reduce((edellisenAjonTulos, alkio) => {
return edellisenAjonTulos + alkio
}, 'alku: ')
'alku: abcd'
reduceRight sievennäLopusta
Sievennetään taulukon alkiot yhdeksi muuttujaksi käymällä aliohjelmalla läpi jokaisen alkion lopusta alkuun.
> ['a', 'b', 'c', 'd'].reduceRight((edellisenAjonTulos, alkio) => {
return edellisenAjonTulos + alkio
}, 'alku: ')
'alku: dcba'
Kulkuri
Kulkuria käytetään apumuuttujana, jolla taulukon käsittely helpottuu.
iterator kulkuri
Kulkurilla voidaan käydä läpi taulukon alkioita.
keys avaimet
Luodaan kulkuri, joka sisältää kaikki indeksiluvut.
> for (const x of [1, 2, 3].keys()) {
console.log(x)
}
0
1
2
entries artikkelit
Luodaan kulkuri, joka sisältää taulukon kaikki indeksiluvut sekä niitä vastaavat alkiot.
> for (const x of [1,2,3].entries()) {
console.log(x)
}
[ 0, 1 ]
[ 1, 2 ]
[ 2, 3 ]
values arvot
Luodaan kulkuri, joka sisältää kaikki alkiot eli taulukon arvot.
> for (const x of [1, 2, 3].values()) {
console.log(x)
}
1
2
3
Taulukko merkkijonoksi
Taulukon tiedot halutaan usein esimerkiksi tulostaa. Taulukon voi muuttaa silloin merkkijonoksi.
toString merkkijonoksi
Muutetaan taulukko merkkijonoksi, joka luodaan muuttamalla ensin jokainen alkio ensin merkkijonoksi ja sitten yhdistämällä ne välimerkillä.
> [1, 2, 3].toString()
'1,2,3'
toLocaleString paikalliseksiMerkkijonoksi
Muutetaan taulukko merkkijonoksi, joka luodaan muuttamalla jokainen alkio ensin paikalliseksi merkkijonoksi ja sitten yhdistämällä ne paikallisella välimerkillä.
> [1, 2, 3].toLocaleString()
'1,2,3'
join yhdistä
yhdistetään taulukon alkiot käyttäen pilkkua välimerkkinä.
> [1, 2, 3].join()
'1,2,3'
Jätä kommentti