find、findindex、indexof的区别

1.find()方法返回数组中第一个满足条件的元素,找不到返回undefined

语法: arr.find(callback)

callback函数有三个参数。
item:每一次迭代查找的数组元素。
index:每一次迭代查找的数组元素索引。
arr:被查找的数组。

	var testArr1 = [20,12,362,26,965,22,26,35];
		var findItem1 = testArr1.find(function(item,index,arr){return item>26});
		console.log(findItem1 )//362
		//也可以在对象数组中根据对象属性作为判断条件查找
		var testArr2 = [{name:'aaa',id:'111'},{name:'bbb',id:'222'},{name:'ccc',id:'333'}]
		var findItem2 = testArr2.find(function(item,index,arr){return item.name=='ccc'})
		console.log(findItem2 )//{name:'ccc',id:'333'}

2.findIndex()方法返回数组中第一个满足条件的索引,找不到返回-1
语法: arr.findIndex(callback)
callback函数有三个参数。
item:每一次迭代查找的数组元素。
index:每一次迭代查找的数组元素索引。
arr:被查找的数组。

var testArr1 = [20,12,362,26,965,22,26,35];
var index1 = testArr1.findIndex(function(item,index,arr){return item>100});
console.log(index1)//2
//也可以在对象数组中根据对象属性作为判断条件查找
var testArr2 = [{name:'aaa',id:'111'},{name:'bbb',id:'222'},{name:'ccc',id:'333'}]
var index2 = testArr2 .findIndex(function(item,index,arr){ return item.name=='bbb'})
console.log(index2)//1

3.indexOf()方法返回在数组中可以找到指定元素的第一个索引,找不到返回-1。
语法:arr.indexOf(value)

var testArr = [20,12,362,26,965,22,26,35];
var index1 = testArr.indexOf(26);
console.log(index1)//3

你可能感兴趣的:(javascript,前端)