Tablice: Wyszukiwanie i Filtrowanie

Javascript
Priorytet: Normalny Szkic

Zadanie 4.4: Szukanie i Filtrowanie

Wstęp

Masz tablicę 1000 produktów. Jak znaleźć ten o ID 55? Albo jak wyświetlić tylko produkty tańsze niż 50 zł? Ręczne pisanie pętli for jest możliwe, ale JavaScript ma do tego dedykowane, szybsze w zapisie metody.

Cel zadania

Opanowanie metod:

  • includes() - sprawdź czy element istnieje.
  • find() - znajdź pierwszy element pasujący do warunku.
  • filter() - znajdź wszystkie elementy pasujące do warunku.

Przegląd metod

1. Sprawdzanie obecności (includes)

Zwraca true lub false. Proste i szybkie.

const tags = ["promocja", "lato", "wyprzedaż"];
const isPromo = tags.includes("promocja"); // true

2. Szukanie konkretnego elementu (find)

Przyjmuje funkcję warunkową. Zwraca pierwszy pasujący element lub undefined.

const users = [
    { id: 1, name: "Jan" },
    { id: 2, name: "Anna" },
    { id: 3, name: "Piotr" }
];

// Znajdź użytkownika o ID 2
const user = users.find(u => u.id === 2);
console.log(user.name); // "Anna"

3. Filtrowanie listy (filter)

Zwraca nową tablicę ze wszystkimi elementami, które spełniają warunek.

const prices = [10, 200, 5, 50, 100];

// Wybierz tylko tanie rzeczy (< 100)
const cheap = prices.filter(price => price < 100);
console.log(cheap); // [10, 5, 50]

Kroki do wykonania

Scenariusz: Lista zadań

Masz tablicę zadań (obiektów):

const tasks = [
    { text: "Wynieść śmieci", done: true },
    { text: "Nauczyć się JS", done: false },
    { text: "Zrobić zakupy", done: true },
    { text: "Naprawić rower", done: false }
];
  1. Szukanie: Użyj find, aby znaleźć zadanie o treści "Naprawić rower" i wypisz je w konsoli.
  2. Filtrowanie: Użyj filter, aby stworzyć nową tablicę todoList zawierającą tylko zadania niezrobione (done: false).
  3. Sprawdzanie: Utwórz prostą tablicę tagów ["pilne", "dom"]. Sprawdź za pomocą includes czy zawiera tag "praca".

[!IMPORTANT] Commit: Zadanie 4.4 - Filter i Find.

Zadanie dla chętnych

Połącz metody! Z tablicy liczb [5, 12, 8, 130, 44] wybierz te większe od 10 (filter), a następnie znajdź wśród nich pierwszą parzystą liczbę (find).