Метод filter в JavaScript
Метод filter
позволяется отфильтровать элементы массива, оставив только подходящие под определенное условие элементы. Метод в параметре получает функцию, которая выполнится для каждого элемента массива. Своим результатом метод возвращает новый массив, в который войдут только те элементы, для которых переданная функции вернет true
. В функцию можно передавать 3
параметра. Если эти параметры есть (они не обязательны), то в первый автоматически попадет элемент массива, во второй попадет его номер в массиве (индекс), а в третий - сам массив.
Синтаксис
let новый массив = массив.filter(function(элемент, индекс, массив) {
код
return true или false
})
Пример
Отфильтруем массив, оставив в нем только положительные числа:
let numbers = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let result = numbers.filter(function(elem) {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(result); // [5, 1, 1, 3, 4]
Пример
При необходимости в третий параметр можно передать сам массив:
let result = arr.filter(function(elem, index, arr) {
тут будет доступен массив arr
})