Javascript taulukot suomeksi

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.

at paikka
Palautetaan alkio, joka on paikassa, jonka indeksiluku on annettu.

> ['a', 'b', 'c', 'd'].at(2)
'c'

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.

every jokainen
Käydään läpi jokainen taulukon alkio ja jos kaikki alkiot täyttää vaatimuksen, palautetaan tosi. Muuten palautetaan epätosi.

> [1, 2].every(alkio => alkio > 0)
true

> [1, 2].every(alkio => alkio > 1)
false

some yksikin
Käydään läpi jokainen taulukon alkio ja jos yksikin alkio täyttää vaatimuksen, palautetaan tosi. Muuten palautetaan epätosi.

> [1, 2].some(alkio => alkio > 1)
true

> [1, 2].some(alkio => alkio > 2)
false

find etsi
Käydään läpi jokainen taulukon alkio ja etsitään ensimmäinen alkio, joka täyttää vaatimuksen.

> [1, 2, 3].find(alkio => alkio > 1)
2

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.

flat litistä
Luodaan uusi taulukko litistämällä eli poistamalla taulukon jokaisesta alkiosta oletusarvoisesti yhden tason, jos mahdollista.

> [[1], [[2, 3]], 4].flat()
[ 1, [ 2, 3 ], 4 ]

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