find()方法:数组中每个元素都调用一次函数中执行, 通过判断返回符合条件的对象,没找到返回undefined; findIndex()方法:数组实例的findIndex方法 找出第一个符合条件元素的位置,没找到返回-1;
find:
// 1.找出数组中id=50的元素
let arr=[
{id:10,name:'狼了个狼'},
{id:20,name:'狼了个狼'},
{id:30,name:'狼了个狼'},
{id:40,name:'狼了个狼'},
{id:50,name:'狼了个狼'}
]
let index=arr.find(val=>val.id==50)
console.log(index); // {id:'50',name:'狼了个狼'}
// 2.获取数组中的NaN
let arr=[1,2,NaN,3,4,5,6];
let newArr=arr.find(val=>{
return Object.is(NaN,val)
})
console.log(newArr); //NaN
//3. 没有找到返回undefined
let arr = [1, 2, 3, 4, 5, 6];
let newArr = arr.find(val => {
return val === 9
})
console.log(newArr); //undefined
// 3.获取数组中第一个大于19的元素
let arr=[1,3,5,7,19,21,23]
let newArr=arr.find(val=>{
return val>19
})
console.log(newArr); //21
findIndex:
//1. 找出数组中第一个大于10的元素对应的索引值
let arr=[10,2,30,40,50]
let index=arr.findIndex(val=>val>10)
console.log(index);// 2
// 2. 找出第一个符合条件对应的索引值
let arr=[1,20,30,40,50]
let newArr=arr.findIndex(val=>val==1)
console.log(newArr);//0
// 3. 找出id=5的元素对应的索引值
let arr=[
{id:1,name:'狼了个狼'},
{id:2,name:'狼了个狼'},
{id:3,name:'狼了个狼'},
{id:4,name:'狼了个狼'},
{id:5,name:'狼了个狼'}
]
let newArr=arr.findIndex(val=>val.id===5)
console.log(newArr); //4
// 没有找到返回-1
let arr = [1, 20, 30, 40, 50]
let newArr = arr.findIndex(val => val == 10)
console.log(newArr); // -1
标签:findIndex,name,val,newArr,arr,id,let,方法,find From: https://blog.51cto.com/u_16221669/7032857注意:findIndex对于空数组,函数是不会执行的; find 对于空数组,函数也是不会执行的,不会改变数组的原始值