📅  最后修改于: 2023-12-03 14:42:23.671000             🧑  作者: Mango
在JavaScript中,数组是非常重要的数据结构之一。数组提供了对一组值的有序、快速访问,JavaScript中的数组也具有非常丰富的方法和属性。其中,findIndex()
方法就是一种用于查找数组中符合条件的元素位置的方法。
array.findIndex(function(currentValue, index, arr), thisValue)
function(currentValue, index, arr)
:必须。用于检测每个元素的函数,其中:
currentValue
:当前元素的值。index
:当前元素的索引。arr
:当前数组对象。该函数返回 true 或 false,如果返回 true,findIndex()
则返回当前元素的索引值。如果所有元素都返回 false,则返回 -1。
thisValue
:可选,使用该参数设置 function
函数内部 this
的值。如果没有传递该参数,则默认在全局对象上下文(即在浏览器中,表示 window
对象)内使用。const array = [1, 2, 3, 4, 5];
const even = (element) => element % 2 === 0;
console.log(array.findIndex(even)); // 输出:1
上面的例子中,我们使用 findIndex()
方法查找数组中第一个偶数的索引位置。其中 even
函数用于检测数组中的数值是否为偶数,findIndex()
方法返回的是第一个符合条件的元素的索引值,此时数组中第一个偶数是 2,它的索引值为 1。
findIndex()
方法会调用该数组的每个元素,直到找到一个元素使得回调函数返回 true
。如果找到,则返回该元素的索引值,在找不到任何匹配元素时将返回 -1
。
findIndex()
方法对于空数组不会执行回调函数,而是直接返回 -1
。而对于删除之后的数组中仍存在元素的情况,findIndex()
会从缺失的元素处继续查找。
在 findIndex()
方法被调用时,数组元素在该调用期间有添加、删除或更改,通常会对 findIndex()
的操作产生影响。