一、Array.findIndex()方法简介
Array.findIndex()方法是在Javascript ES6中添加的一个新数组方法,该方法可以在数组中查找一个元素,并返回该元素在数组中的位置(即索引)。
该方法的语法为:
arr.findIndex(callback(element[, index[, array]])[, thisArg])
callback
:数组中每个元素都会调用该函数,函数返回值为true时,返回该元素在数组中的索引值,返回false时,继续查找下一个元素。element
:当前遍历到的元素。index
:当前遍历到元素在数组中的索引值。array
:操作的数组。thisArg
:执行callback
时使用的this
值。
二、Array.findIndex()方法示例
下面是一个使用Array.findIndex()方法的示例代码:
const arr = [2, 5, 8, 1, 4];
const result = arr.findIndex(function(ele) {
return ele > 3;
});
console.log(result);//2
上述代码中,我们创建了一个数组 arr
,然后使用 .findIndex()
方法来查找数组中第一个大于3的元素,并返回该元素的索引位置。在该示例中,第一个大于3的元素是8,其在数组中的位置为2,因此该代码输出结果为2。
三、Array.findIndex()方法详解
1、callback的三个参数
在上述示例代码中,我们将callback函数中的ele作为比较值,查找数组中第一个大于3的元素。除ele参数外,callback函数还有两个可选参数 - index和array。
其中index为当前遍历到元素在数组中的位置,array为原始数组本身。例如:
const myArr = [1,5,10,15];
myArr.findIndex(function(ele,index,array) {
console.log('ele:',ele);//依次输出1,5,10,15
console.log('index:',index);//依次输出0,1,2,3
console.log('array:',array);//输出[1,5,10,15]
});
2、callback返回值的处理
Array.prototype.findIndex()
方法返回一个满足指定测试函数的第一个元素的索引。否则返回-1。
const arr = [1,2,3,4,5,6];
console.log(arr.findIndex(function(ele) {
return ele>8;
}));
//输出结果为:-1,因为该数组中不存在大于8的元素。
四、总结
本文主要介绍了JavaScript中Array.findIndex()方法的使用方法及示例。
- 我们首先介绍了Array.findIndex()方法的语法及参数解释。
- 接着我们展示了一个Array.findIndex()方法的基本使用示例。
- 最后我们详解了callback中三个参数的用法及callback返回值的处理方法。