查找第一个值大于 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(或更早版本)不支持。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!