Lisää taulukkojuttuja!
Voimme tehdä paljon enemmän taulukoiden (array) kanssa kuin vain lisätä tai poistaa niistä elementtejä.
Tarkista, sisältääkö taulukko arvon
JavaScript tarjoaa yksinkertaisen tavan tarkistaa, sisältääkö taulukko tietyn arvon käyttämällä includes()-metodia. Kun kutsut array.includes(arvo), se palauttaa true, jos arvo löytyy, ja muussa tapauksessa false.
let fruits = ["omena", "banaani", "kirsikka"];
console.log(fruits.includes("banaani")); // tulostaa true
console.log(fruits.includes("mango")); // tulostaa false
Elementin indeksin löytäminen
Arvon sijainnin löytämiseksi taulukosta voit käyttää indexOf()-metodia. Tämä metodi palauttaa kohda (indeksin) josta kyseinen arvo löytyy, tai -1, jos sitä ei löydy.
let fruits = ["omena", "banaani", "kirsikka"];
console.log(fruits.indexOf("banaani")); // tulostaa 1
console.log(fruits.indexOf("mango")); // tulostaa -1
Elementtien etsiminen find()-metodilla
Mikä on Array.find()?
Array.find() -metodi auttaa sinua etsimään taulukosta ensimmäisen elementin, joka täyttää tietyn ehdon. Kun kutsut array.find(callback), JavaScript käy läpi taulukon ja kutsuu takaisinkutsufunktiota (callback) jokaiselle elementille. Kun takaisinkutsu palauttaa true, find() palauttaa kyseisen elementin. Jos mikään elementti ei täytä ehtoa, se palauttaa undefined-arvon.
Nimetyn funktion käyttö
Toisinaan on hyödyllistä kirjoittaa takaisinkutsufunktio erikseen (nimettynä funktiona) ennen sen välittämistä find()-metodille. Tämä tekee joskus koodistasi selkeämpää.
Esimerkiksi, oletetaan että sinulla on liuta numeroita ja haluat löytää ensimmäisen parillisen numeron. Voit kirjoittaa jotakin tämän näköistä:
function isEven(num) {
return num % 2 === 0;
}
let numbers = [1, 3, 5, 8, 10];
let firstEven = numbers.find(isEven);
console.log(firstEven); // tulostaa 8
Poista elementti indeksillä käyttäen splice()-metodia
Toisinaan haluat poistaa elementin tietyltä paikalta taulukosta. Splice()-metodi mahdollistaa elementtien poiston annetussa indeksissä. Kutsuttaessa splice(indeksi, määrä), se poistaa elementit annetusta indeksistä alkaen ja palauttaa poistettujen alkoiden taulukon.
Esimerkiksi:
let numbers = [10, 20, 30, 40];
let poistettu = numbers.splice(2, 1);
console.log(numbers); // tulostaa [10, 20, 40]
console.log(poistettu); // tulostaa [30]
Elementtien poistaminen ehdolla filter()-metodilla
Filter()-metodi luo uuden taulukon, joka sisältää vain ehdot täyttävät alkio. Toisin kuin splice(), filter() ei muuta alkuperäistä taulukkoa - se palauttaa uuden taulukon.
Esimerkiksi, jos haluat poistaa kaikki arvon 5 esiintymät taulukosta:
let arvot = [5, 10, 5, 20, 5, 30];
let suodatettu = arvot.filter(function(item) {
return item !== 5;
});
console.log(suodatettu); // tulostaa [10, 20, 30]
Harjoitukset
Tarkista arvo includes()-metodilla
- Luo muuttuja nimeltä fruits käyttäen let-avainsanaa ja anna sille taulukko, joka sisältää "omena", "banaani" ja "kirsikka".
- Käytä includes()-metodia tarkistaaksesi, onko "banaani" taulukossa, ja tulosta tulos.
- Tarkista myös, onko "mango" taulukossa, ja tulosta tulos.
Etsi elementin indeksi indexOf()-metodilla
- Luo muuttuja nimeltä fruits käyttäen let-avainsanaa ja anna sille taulukko, joka sisältää "omena", "banaani" ja "kirsikka".
- Käytä indexOf() -metodia löytääksesi indeksin, jossa "kirsikka" esiintyy taulukossa.
- Tulosta indeksi käyttäen console.log-funktiota.
Etsi nimetyllä funktiolla
- Luo taulukko nimeltä numbers käyttäen let-avainsanaa, joka sisältää arvot [7, 11, 13, 16, 19].
- Kirjoita nimetty funktio nimeltä isEven, joka palauttaa totuusarvon true, jos luku on parillinen.
- Käytä numbers.find()-metodia nimetyn funktion kanssa saadaksesi ensimmäisen parillisen luvun ja tallentaa se muuttujaan nimeltä firstEven.
- Tulosta tulos käyttäen console.log-funktiota.
Käytä nuolifunktiota ennen Array.find()-kutsua
- Luo taulukko nimeltä numbers käyttäen let-avainsanaa arvoilla [2, 5, 8, 11].
- Käytä nuolifunktion syntaksia rivillä find()-metodin kanssa löytääksesi ensimmäisen luvun, joka on suurempi kuin 7.
- Tulosta löydetty arvo käyttäen console.log-toimintoa.
Poista elementti indeksillä splice()-metodilla
- Luo taulukko nimeltä numbers ja anna sille arvot [10, 20, 30, 40].
- Käytä splice()-metodia poistaaksesi elementin indeksistä 2.
- Tallenna poistettu elementti muuttujaan nimeltä removed.
- Tulosta päivitetty numbers -taulukko ja removed -elementti käyttäen console.log
Poista elementit ehdolla filter()-metodilla
- Luo taulukko nimeltä arvot ja anna sille arvot [5, 10, 5, 20, 5, 30].
- Käytä filter()-metodia luodaksesi uuden taulukon nimeltään suodatettu, joka sulkee pois kaikki arvot 5.
- Tulosta uusi taulukko suodatettu käyttäen console.logia.


Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.
Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.