最新的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的陣列參考