方法一、find() 方法返回数组中满足提供的测试函数的第一个元素的值。
语法: arr.find(callback[, thisArg])
var num = [10,3,5,15,100,1].find(function(elem, index){
return elem>=15;
});
console.log(num) // 15
//若不存在,返回undefined
方法二、findIndex()方法返回数组(/对象型数组)中满足提供的测试函数的第一个元素的索引。否则返回-1。
语法: arr.findIndex(callback[, thisArg])
var num = [10,3,5,15,100,1].findIndex((elem, index)=>{ // 15
return elem>=15;
});
console.log(num) // 3
var objIndex= [{id:3},{id:4},{id:5}].findIndex(itemi=>{return itemi.id ==5})
console.log(objIndex) // 2
方法三、indexOf()方法返回在数组/字符串中可以找到给定元素的第一个索引,如果不存在,则返回-1。
语法: arr.indexOf(searchElement)
arr.indexOf(searchElement[, fromIndex = 0])
[0,1,2,3,4,5,6].indexOf(5); // 5 从索引0的位置往后查找
[0,1,2,3,4,5,6].indexOf(5,5); // 5
[0,1,2,3,4,5,6].indexOf(5,10); // -1 从索引10的位置往后查找
'123e4567'.indexOf('e'); //3
方法五、includes() 方法用来判断当前数组/字符串是否包含某指定的值,如果是,则返回 true,否则返回 false。
语法: arr.includes(searchElement)
arr.includes(searchElement, fromIndex)
[0,1,2,3,4,5,6].includes(5); // true 从索引0位置往后查找是否存在5元素,是
[0,1,2,3,4,5,6].includes(10); // false
[0,1,2,3,4,5,6].includes(5,10); // false 从索引10位置往后查找是否存在10元素,否
'123e4567'.includes('e'); //true