findIndex()方法返回?cái)?shù)組中滿足所提供的測(cè)試函數(shù)的第一個(gè)元素的索引。
findIndex()方法為數(shù)組中的每個(gè)元素都調(diào)用一次函數(shù)執(zhí)行:
當(dāng)數(shù)組中的元素在測(cè)試條件時(shí)返回 true 時(shí), findIndex() 返回符合條件的元素的索引位置,之后的值不會(huì)再調(diào)用執(zhí)行函數(shù)
如果沒(méi)有符合條件的元素,則返回 -1
注意: findIndex()方法不會(huì)更改原始數(shù)組。
注意: findIndex() 對(duì)于空數(shù)組,函數(shù)是不會(huì)執(zhí)行的。
array.findIndex(callback, thisArg) array.findIndex(function(element, index, arr), thisArg)
var num = [1, 30, 39, 29, 10, 13];
var val = num.findIndex(myFunc);
function myFunc(element) {
return element >= 18;
}測(cè)試看看?/?另請(qǐng)參見(jiàn)find()方法,該方法返回?cái)?shù)組中找到的元素的值而不是其索引。
表中的數(shù)字指定了完全支持findIndex()方法的第一個(gè)瀏覽器版本:
| Method | ![]() | ![]() | ![]() | ![]() | ![]() |
| findIndex() | 45 | 25 | 32 | 8 | 12 |
| 參數(shù) | 描述 |
|---|---|
| callback | 為數(shù)組中的每個(gè)元素運(yùn)行的函數(shù)。 函數(shù)參數(shù):
|
| thisArg | 可選。 傳遞給函數(shù)的值一般用 "this" 值。 如果這個(gè)參數(shù)為空, "undefined" 會(huì)傳遞給 "this" 值 |
| 返回值: | 如果元素通過(guò)測(cè)試,則為數(shù)組中的索引;否則為-1 |
|---|---|
| JavaScript版本: | ECMAScript 6 |
以下示例返回?cái)?shù)組中元素的索引,該元素是質(zhì)數(shù);如果沒(méi)有質(zhì)數(shù),則返回-1:
var array1 = [1, 15, 17, 24, 29, 10, 13];
function isPrime(element) {
var start = 2;
while (start <= Math.sqrt(element)) {
if (element % start < 1) {
return false;
} else {
start++;
}
}
return element > 1;
}
function myFunc1() {
document.getElementById("result").innerHTML = array1.findIndex(isPrime);
}測(cè)試看看?/?