例
获得具有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:
|
||||||||
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的阵列参考