Массив JavaScript findIndex()
Пример 1
Найдите первый элемент со значением больше 18:
const ages = [3, 10, 18, 20];
ages.findIndex(checkAge);
function checkAge(age) {
return age > 18;
}
Определение и использование
Метод findIndex()
выполняет функцию для каждого элемента массива.
Метод findIndex()
возвращает индекс (позицию) первого элемента, прошедшего проверку.
Метод findIndex()
возвращает -1, если совпадений не найдено.
Метод findIndex()
не выполняет функцию для пустых элементов массива.
Метод findIndex()
не изменяет исходный массив.
Синтаксис
array.findIndex(function(currentValue, index, arr), thisValue)
Параметры
Parameter | Description |
function() | Required. A function to be run for each array element. |
currentValue | Required. The value of the current element. |
index | Optional. The index of the current element. |
arr | Optional. The array of the current element. |
thisValue | Optional. Default undefined .A value passed to the function as its this value. |
Возвращаемое значение
Тип | Описание |
Число |
Индекс первого элемента, прошедшего проверку. В противном случае -1. |
Поддержка браузера
findIndex()
является функцией ECMAScript6 (ES6).
ES6 (JavaScript 2015) поддерживается во всех современных браузерах:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
findIndex()
не поддерживается в Internet Explorer 11 (или более ранних версиях).
Дополнительные примеры
Найдите первый элемент со значением выше входного значения:
<p><input type="number" id="toCheck" value="18"></p>
<button onclick="myFunction()">Test</button>
<p>Any values above: <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>