Taulukoiden Suodattaminen Filter()-Metodilla
Pyyhkäise näyttääksesi valikon
Tässä luvussa perehdytään filter()-menetelmän yksityiskohtiin, selvennetään sen syntaksia, käyttötarkoituksia ja sitä, miten se mahdollistaa tarkennettujen taulukoiden luomisen.
filter()
filter()-menetelmä valitsee alkiot, jotka täyttävät tietyn ehdon. Tarkastellaan syntaksia:
array.filter((element, index, array) => {
// Callback body
});
Tärkeimmät asiat filter()-menetelmästä:
- Ei muuta alkuperäistä taulukkoa;
- Käy alkuperäisen taulukon läpi alkio kerrallaan;
- Palauttaa uuden taulukon;
- Alkiot lisätään uuteen taulukkoon, jos ne täyttävät callback-ehdon;
- Jos callback palauttaa true, alkio sisällytetään; muuten se jätetään pois.
Esimerkit
filter()-menetelmän todellinen tehokkuus tulee esiin, kun sitä sovelletaan erilaisiin tilanteisiin. Tarkastellaan muutamia havainnollistavia esimerkkejä:
Esimerkki 1: Parittomien lukujen suodatus
Tässä esimerkissä filter()-menetelmä luo taulukon (oddNumbers), joka sisältää alkuperäisestä taulukosta vain parittomat luvut.
123456const numbers = [15, 22, 37, 41, 58, 67, 72]; const oddNumbers = numbers.filter((number) => { return number % 2 !== 0; }); console.log(oddNumbers); // Output: 15, 37, 41, 67
Esimerkki 2: Tuotteiden suodattaminen hintahaarukan perusteella
Tässä filter()-metodia käytetään poimimaan tuotteet, joiden hinta on alle 500 dollarin, ja luomaan uusi taulukko (affordableProducts).
const products = [
{ name: "Keyboard", price: 220 },
{ name: "Smartphone", price: 800 },
{ name: "Tablet", price: 500 },
{ name: "Headphones", price: 120 },
{ name: "Camera", price: 1500 },
];
const affordableProducts = products.filter((product) => product.price < 500);
console.log(affordableProducts); // Output: [ { name: "Keyboard", price: 220 }, { name: "Headphones", price: 120 } ]
1. Mitä filter()-metodi tekee?
2. Mikä on filter()-metodin keskeinen ominaisuus?
3. Alla olevassa esimerkissä, mikä ehto tulisi asettaa, jotta numbersGreaterThan20-taulukko sisältäisi luvut, jotka ovat suurempia kuin 20?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme