Filtrowanie danych jest podstawową operacją w programowaniu, która pozwala na selektywne przetwarzanie tylko tych elementów danych, które spełniają określone kryteria. JavaScript oferuje kilka sposobów na efektywne filtrowanie danych, a jednym z najbardziej użytecznych jest metoda filter()
dostępna na tablicach. Ta metoda tworzy nową tablicę zawierającą wszystkie elementy oryginalnej tablicy, które spełniają warunek zdefiniowany w przekazanej funkcji callback.
Przykład użycia metody filter()
w JavaScript
W tym przykładzie pokażemy, jak użyć metody filter()
do filtrowania listy obiektów reprezentujących samochody. Będziemy filtrować samochody według roku produkcji.
Struktura HTML
<!DOCTYPE html>
<html>
<head>
<title>Filtrowanie danych w JavaScript</title>
</head>
<body>
<h3>Lista samochodów przed 2000 rokiem:</h3>
<ul id="carList"></ul>
<script src="filterCars.js"></script>
</body>
</html>
Kod JavaScript (filterCars.js
)
// Lista obiektów opisujących samochody
let cars = [
{ brand: "Ford", model: "Mustang", year: 1969 },
{ brand: "Chevrolet", model: "Camaro", year: 2020 },
{ brand: "Toyota", model: "Corolla", year: 1998 },
{ brand: "Fiat", model: "500", year: 1970 }
];
// Funkcja filtrująca samochody przed 2000 rokiem
function filterCarsByYear(cars, year) {
return cars.filter(car => car.year < year);
}
// Wykorzystanie funkcji do filtrowania i wyświetlenia wyników
let oldCars = filterCarsByYear(cars, 2000);
let carListElement = document.getElementById('carList');
oldCars.forEach(car => {
let li = document.createElement('li');
li.textContent = `${car.brand} ${car.model} (${car.year})`;
carListElement.appendChild(li);
});
Opis działania
- Definicja danych: Na początku tworzymy listę obiektów
cars
, gdzie każdy obiekt reprezentuje samochód z określoną marką, modelem i rokiem produkcji. - Funkcja filtrująca: Następnie definiujemy funkcję
filterCarsByYear
, która przyjmuje tablicę samochodów i rok, filtruje samochody starsze niż podany rok, i zwraca nową tablicę zawierającą tylko te samochody. - Wyświetlanie wyników: Wykorzystując metodę
forEach
, iterujemy po przefiltrowanej liście samochodów, tworzymy dla każdego elementli
z opisem samochodu, i dodajemy ten element do listy na stronie.
Podsumowanie
Filtrowanie danych w JavaScript za pomocą metody filter()
jest potężnym narzędziem, które pozwala na szybkie i efektywne przetwarzanie kolekcji danych. Dzięki elastyczności funkcji callback, metoda filter()
może być zastosowana do szerokiego zakresu danych i kryteriów filtrowania, co czyni ją niezwykle przydatną w codziennym programowaniu.