最新的Web开发教程
 

JavaScript阵列findIndex()方法

JavaScript的阵列参考 JavaScript的阵列参考

获得具有18个或更多的值的数组中的第一个元素的索引:

var ages = [3, 10, 18, 20];

function checkAdult(age) {
    return age >= 18;
}

function myFunction() {
    document.getElementById("demo").innerHTML = ages.findIndex(checkAdult);
}

其结果将是:

2
试一试»

更多“试一试”的例子。


定义和用法

findIndex()方法返回在通过测试(作为一个功能提供)数组的第一个元素的索引。

findIndex()方法为每个数组中存在的元素,一旦执行函数:

  • 如果发现其中函数返回一个值数组元素,findIndex()返回数组元素的索引(和不检查剩余的值)
  • 否则,返回undefined

注:findIndex()没有价值观不执行功能数组元素。

注意:findIndex()不改变原来的阵列。


浏览器支持

在表中的数字指定完全支持方法的第一个浏览器的版本。

方法
findIndex() 45.0 12.0 25.0 7.1 32.0

句法

array.findIndex( function(currentValue,index,arr),thisValue )

参数值

Parameter Description
function(currentValue, index,arr) Required. A function to be run for each element in the array.
Function arguments:
Argument Description
currentValue Required. The value of the current element
index Optional. The array index of the current element
arr Optional. The array object the current element belongs to
thisValue Optional. A value to be passed to the function to be used as its "this" value.
If this parameter is empty, the value "undefined" will be passed as its "this" value

技术细节

返回值: 返回的数组索引如果任何数组中的元素通过测试,否则返回未定义
JavaScript的版本: ECMAScript中6

例子

更多示例

获得具有上述特定数量的值的数组中的第一个元素的索引:

<p>Minimum age: <input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">Try it</button>

<p>Any ages above: <span id="demo"></span></p>

<script>
var ages = [4, 12, 16, 20];

function checkAdult(age) {
    return age >= document.getElementById("ageToCheck").value;
}

function myFunction() {
    document.getElementById("demo").innerHTML = ages.findIndex(checkAdult);
}
</script>
试一试»

JavaScript的阵列参考 JavaScript的阵列参考