Перейти к основному содержимому

Метод Array.prototype.filter() в JavaScript

Али Гасымов

Али Гасымов

JavaScript разработчик

Главное#

Метод Array.prototype.filter() — иммутабельный. Первым аргументом принимает функцию которая последовательно выполняется для каждого элемента исходного массива. Если функция вернула true, то значение будет в новом массиве, если вернула false, то значения в новом массиве не будет

const numbers = [8, 9, 10, 11, 12];
const result = numbers.filter((number, index, array) => {
return number > 10;
});
console.log(result); // [11, 12]
// Исходный массив не поменялся
console.log(numbers); // [8, 9, 10, 11, 12]

Примеры#

Удалить элемент из массива#

С помощью Array.prototype.filter() можно элегантно удалить элемент из массива:

const fruits = ['Яблоко', 'Банан', 'Огурец'];
const result = fruits.filter(fruit => fruit !== 'Огурец');
console.log(result); // ["Яблоко", "Банан"]

Найти чётные числа в массиве#

const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // [0, 2, 4, 6, 8, 10]