目录

JavaScript Array 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。


更多示例

查找值高于输入值的第一个元素:

<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>
亲自试一试 »

浏览器支持

findIndex()是 ECMAScript6 (ES6) 功能。

所有现代浏览器都支持 ES6 (JavaScript 2015):

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

findIndex()Internet Explorer 11(或更早版本)不支持。