find()
用于查找第一个符合条件的数组元素。
在回调函数中写查找方法:当条件成立时,返回该元素。如果没有找到,则返回undefined。
const myArr = [1,2,3,4,5,6];
var v = myArr.find(value => value > 4);
console.log(v);// 5
//没有符合元素,返回undefined:
const myArr = [1,2,3,4,5,6];
var v = myArr.find(value => value > 40);
console.log(v);// undefined
回调函数有三个参数。value:当前的数组元素。index:当前索引值。arr:被查找的数组。
var v = myArr.find((value,index,arr)=>{
//to do something
});
findIndex()
用于查找第一个符合条件的数组元素的索引。
findIndex()与find()的使用方法相同。
只是findIndex()返回的是索引值,如果没有符合条件元素时findIndex()返回的是 -1 。
const bookArr = [
{
id:1,
bookName:"三国演义"
},
{
id:2,
bookName:"水浒传"
},
{
id:3,
bookName:"红楼梦"
},
{
id:4,
bookName:"西游记"
}
];
var t = bookArr.findIndex((value) => value.id === 4);
console.log(t);// 3
var r = bookArr.findIndex((value) => value.id === 100);
console.log(r);// -1
findIndex()中的回调函数也是接收三个参数,与find()相同。