js find和findIndex的区别

518 阅读1分钟

1.对arr数组操作

find()方法

const arr=[1,2,4,8,12];
var va1=arr.find(value=>value>8);
console.log(va1);   //12

arr = [1, 2, 4, 8, 12]
var v2 = arr.find((value, index, arr) => {
	return index == 4
});
console.log(v2);      //12

findIndex()方法

var va1=arr.findIndex(value=>value>8);
console.log(va1);   //4

arr = [1, 2, 4, 8, 12]
var v2 = arr.findIndex((value, index, arr) => {
	return index == 4
});
console.log(v2);    //4

2对复杂数组(包含对象的)操作

const nameArr=[
      {id:1,userName:"zhaoqian",age:27},
      {id:2,userName:"sunli",age:23},
      {id:3,userName:"zhouwu",age:25 },
      {id:4,userName:"zhengwang",age:21}
  ];

find()方法

var i1=nameArr.find((value)=>value.age==25);
console.log(i1);/*有满足条件的,返回{id: 3, userName: "zhouwu", age: 25}*/
var i2=nameArr.find((value)=>value.age==28);
console.log(i2);/*没有满足条件的,返回undefined*/

findIndex()方法

 var i1=nameArr.findIndex((value)=>value.age==25);
console.log(i1);//2/*有满足条件的,返回下标2*/
var i2=nameArr.findIndex((value)=>value.age==28);
console.log(i2);/*没有满足条件的,返回-1*/

总结

find()方法
find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。

findIndex()方法
findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1