findIndex
时间: 2023-06-28 09:16:24 浏览: 80
`findIndex` 是 JavaScript 中的一个数组方法,它用于查找数组中满足条件的元素的索引值。它接收一个回调函数作为参数,该回调函数会对数组中的每个元素进行调用,直到找到符合条件的元素为止。如果找到符合条件的元素,则返回该元素的索引值;否则返回 -1。
例如,以下代码使用 `findIndex` 方法查找数组中第一个大于 5 的元素的索引值:
```
const arr = [1, 3, 7, 4, 9];
const index = arr.findIndex(item => item > 5);
console.log(index); // 2
```
在上面的代码中,回调函数 `item => item > 5` 用于判断数组中的每个元素是否大于 5,如果是,则返回该元素的索引值。由于数组中第一个大于 5 的元素是 7,因此 `findIndex` 方法返回 2。
相关问题
find和findIndex
方法的作用是什么?
js数组find方法和findindex方法都是用来查找数组中符合条件的元素的方法。
find方法返回第一个符合条件的元素,如果没有符合条件的元素则返回undefined。
findindex方法返回第一个符合条件的元素的索引,如果没有符合条件的元素则返回-1。
两个方法的区别是返回值不同,一个返回元素,一个返回索引。
findIndex跟find
findIndex和find都是ES6为Array增加的函数,它们都用于查找目标元素,但是返回值不同。find()函数用来查找目标元素(查找符合条件的第一个元素),找到就返回该元素,找不到返回undefined,而findIndex()函数也是查找目标元素(查找符合条件的第一个元素),找到就返回元素的位置,找不到就返回-1。相比之下,findIndex()更适合用于查找数组中某一项的索引,而find()则更适合用于查找数组中某一项的值。因此,在使用时需要根据具体的需求来选择使用哪个函数。
举个例子,如果我们要查找数组中第一个大于10的元素的索引,可以使用findIndex()函数,代码如下:
```
const arr = [5, 8, 12, 15, 20];
const index = arr.findIndex(item => item > 10);
console.log(index); // 2
```
而如果我们要查找数组中第一个大于10的元素的值,可以使用find()函数,代码如下:
```
const arr = [5, 8, 12, 15, 20];
const value = arr.find(item => item > 10);
console.log(value); // 12
```
阅读全文