Найти первый элемент со значением больше 18:
const ages = [3, 10, 18, 20];
ages.findIndex(checkAge);
function checkAge(age) {
return age > 18;
}
Попробуйте сами »
Описание
Метод findIndex() выполняет функцию для каждого элемента массива.
Метод findIndex() возвращает индекс (позицию) первого элемента, прошедшего проверку.
Метод findIndex() возвращает -1, если совпадение не найдено.
Метод findIndex() не выполняет функцию для пустых элементов массива.
Метод findIndex() не меняет исходный массив.
Методы Array Find:
| Метод | Find |
|---|---|
| indexOf() | Индекс первого элемента с указанным значением |
| lastIndexOf() | Индекс последнего элемента с указанным значением |
| find() | Значение первого элемента, прошедшего проверку |
| findIndex() | Индекс первого элемента, прошедшего проверку |
| findLast() | Значение последнего элемента, прошедшего проверку |
| findLastIndex() | Индекс последнего элемента, прошедшего проверку |
Синтаксис
array.findIndex(function(currentValue, index, arr), thisValue)
Параметры
| Параметр | Описание |
| function() | Необходимый. Функция, запускаемая для каждого элемента массива. |
| currentValue | Необходимый. Значение текущего элемента. |
| index | Необязательный. Индекс текущего элемента. |
| arr | Необязательный. Массив текущего элемента. |
| thisValue | Необязательный. По умолчанию undefined.Значение передается функции как ее this. |
Возвращаемое значение
| Тип | Описание |
| Number |
Индекс первого элемента, прошедшего проверку. В противном случае -1. |
Больше примеров
Найти первый элемент со значением, превышающим входное значение:
<p><input type="number" id="toCheck" value="18"></p>
<button onclick="myFunction()">Тест</button>
<p>Любые значения выше: <span id="demo"></span></p>
<script>
const numbers = [4, 12, 16, 20];
function checkValue(x) {
return x > document.getElementById("toCheck").value;
}
function myFunction() {
document.getElementById("demo").innerHTML = numbers.findIndex(checkValue);
}
</script>
Попробуйте сами »
Учебники по массивам:
Поддержка браузера
findIndex() — это функция ECMAScript6 (ES6).
ES6 (JavaScript 2015) поддерживается во всех современных браузерах с июня 2017 года:
| Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
| May 2016 | Apr 2017 | Jun 2017 | Sep 2016 | Jun 2016 |
findIndex() не поддерживается в Internet Explorer.