findIndex方法常用来查找数组中满足条件的第一项元素的下标
const arr = [1, 2, 3, 4, 5, 3, 3, 2, 4, 5 ]
// 可以这么写
const index = arr.findIndex(item => {
return item > 2
})
console.log(index) // 2
// 也可以这么写
const index = arr.findIndex(item => item > 2)
console.log(index) // 2
返回的index是满足条件的第一项元素的下标,这要注意的是findIndex会给数组中的每一项执行一个函数来判断是否满足表达式,如果满足条件后,剩下的元素则不再执行
查找数组中满足条件的某一项,并且返回那一项对应的值可以用find方法
const arr = [
{
name: '张三',
age: 18
},
{
name: '李四',
age: 20
},
{
name: '王五',
age: 22
}
]
const val = arr.find(item => {
return item.age === 20
})
// 还可以这么写
const val = arr.find(item => item.age === 20)
console.log(val)
// {
name: '李四',
age: 20
}
和findIndex一样,返回满足条件的值,并且不检测剩余值,只不过findIndex返回的是下标,find方法是返回满足条件的那一个元素,具体怎么使用看场景需要
注:两个方法都不会改变原数组