Taulukoiden Suodattaminen Filter()-Metodilla
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
Can you explain how the filter() method differs from the map() method?
Can you show more examples of using filter() with different data types?
What happens if no elements satisfy the filter condition?
Awesome!
Completion rate improved to 2.27
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!