Пример 1
Вернуть массив всех значений в ages[], которым исполнилось 18 лет:
const ages = [32, 33, 16, 40];
const result = ages.filter(checkAdult);
function checkAdult(age) {
return age >= 18;
}
Попробуйте сами »
Описание
Метод filter() создает новый массив, заполненный элементами, прошедшими проверку, предоставляемую функцией.
Метод filter() не выполняет функцию для пустых элементов.
Метод filter() не меняет исходный массив.
Методы итерации массива:
Синтаксис
array.filter(function(currentValue, index, arr), thisValue)
Параметры
| Параметр | Описание |
| function() | Необходимый. Функция, запускаемая для каждого элемента массива. |
| currentValue | Необходимый. Значение текущего элемента. |
| index | Необязательный. Индекс текущего элемента. |
| arr | Необязательный. Массив текущего элемента. |
| thisValue | Необязательный. По умолчанию undefinedЗначение, передаваемое функции как ее значение this. |
Возвращаемое значение
| Тип | Описание |
| Array |
Массив элементов, прошедших проверку. Пустой массив, если ни один элемент не прошел проверку. |
Пример 2
Вернуть значения в ages[], превышающие определенное число:
<p><input type="number" id="ageToCheck" value="30"></p>
<button onclick="myFunction()">Попробуй</button>
<p id="demo"></p>
<script>
const ages = [32, 33, 12, 40];
function checkAge(age) {
return age > document.getElementById("ageToCheck").value;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAge);
}
</script>
Попробуйте сами »
Учебники по массивам:
Поддержка браузера
filter() это функция ECMAScript5 (ES5).
ES5 (JavaScript 2009) полностью поддерживается во всех современных браузерах с июля 2013 года:
| Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
| Sep 2012 | Sep 2012 | Apr 2013 | Jul 2012 | Jul 2013 |