📅  最后修改于: 2023-12-03 15:01:48.785000             🧑  作者: Mango
在JavaScript中,我们经常需要在数组中搜索某个元素的位置。findIndex()
函数就是专门用来搜索数组中满足指定条件的元素,并返回该元素在数组中的索引值。
下面是findIndex()
函数的语法:
array.findIndex(function(currentValue, index, arr), thisValue)
其中,function(currentValue, index, arr)
是回调函数,它会被每个元素都调用一次。该函数接受三个参数:
currentValue
:当前元素的值index
:当前元素在数组中的索引arr
:调用该函数的数组findIndex()
函数返回的是数组中满足指定条件的第一个元素的索引值。如果没有找到任何满足条件的元素,则返回-1。
下面是一个使用findIndex()
函数的例子:
const numbers = [1, 5, 10, 15];
const index = numbers.findIndex(function(num) {
return num > 8;
});
console.log(index); // 2
在上面的例子中,我们搜索了numbers
数组中第一个大于8的元素的位置,并将其索引值存储在index
变量中。
我们还可以传递第二个参数thisValue
,它可用于设置回调函数中this
的值。
下面是一个使用thisValue
参数的例子:
const obj = {
compareValue: 8
};
const numbers = [1, 5, 10, 15];
const index = numbers.findIndex(function(num) {
return num > this.compareValue;
}, obj);
console.log(index); // 2
在上面的例子中,我们将一个包含compareValue
属性的对象obj
作为thisValue
参数传递给findIndex()
函数。我们在回调函数中使用了this.compareValue
作为比较的值。
总的来说,findIndex()
函数在JavaScript中是一个非常有用的数组搜索函数。使用它可以轻松地在数组中查找并定位指定条件的元素。