一、方法 Array.findIndex()
findIndex()方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
findIndex()方法为数组中的每个元素都调用一个函数执行。
- 当数组中的元素在测试条件时返回true时,findIndex()返回符合条件的元素的索引位置,之后的值就不会再调用执行函数。
- 如果没有符合条件的元素就返回-1。
注意:
findIndex()对于空数组,函数是不会执行的。
findIndex()并没有改变数组的原始值。
二、Array.findIndex()语法
array.findIndex(function(currentValue, index, arr), thisValue)
function(currentValue, index, arr)
- currentValue为必需,当前元素
- index为可选,当前元素的索引
- arr为可选,当前元素所属的数组对象
thisValue为可选,传递给函数的值一般用“this"值。如果这个参数为空,”undefined"会传递给“this"值。
三、代码示例
let arr = [{
id: '1',
value: 'first'
}, {
id: '2',
value: 'second'
}]
arr.findIndex(val => {
return val.value === 'second'
}) //1
arr.findIndex(val => (val.value === 'second')) //1