js 数组的find和findIndex

Array.find()

array.find(function(currentValue, index, arr),thisValue)
参数 描述
function(currentValue, index,arr) 必需。数组每个元素需要执行的函数。
函数参数:
参数 描述
currentValue 必需。当前元素
index 可选。当前元素的索引值
arr 可选。当前元素所属的数组对象
thisValue 可选。 传递给函数的值一般用 "this" 值。
如果这个参数为空, "undefined" 会传递给 "this" 值
var ages = [3, 10, 18, 20];
 
function checkAdult(age) {
    return age >= 18;
}
 
function myFunction() {
    document.getElementById("demo").innerHTML = ages.find(checkAdult);
}
let array1 = [5, 12, 8, 110, 88];
 
let found = array1.find(element => {
  return element > 10;
});
 
console.log(found);
// output: 12

Array.findIndex()

array.findIndex(function(currentValue, index, arr), thisValue)
参数 描述
function(currentValue, index,arr) 必须。数组每个元素需要执行的函数。
函数参数:
参数 描述
currentValue 必需。当前元素
index 可选。当前元素的索引
arr 可选。当前元素所属的数组对象
thisValue 可选。 传递给函数的值一般用 "this" 值。
如果这个参数为空, "undefined" 会传递给 "this" 值
var ages = [4, 12, 16, 20];
 
function checkAdult(age) {
    return age >= document.getElementById("ageToCheck").value;
}
 
function myFunction() {
    document.getElementById("demo").innerHTML = ages.findIndex(checkAdult);
}
var allPeple = [{
	name: '小王',
	id: 14
},{
	name: '大王',
	id: 41
},{
	name: '老王',
	id: 61
}]
				
var myTeamArr = [{
	name: '小王',
	id: 14
}]
				
var PId = 14; //假如这个是要人的ID
 
function testFunc(item){return item.id == PId ;}
 
//判断myteam里是不是有这个人,如果==-1 代表没有,在allPeople中找到他,添加入我的队伍
 
myTeamArr.findIndex(testFunc) == -1 
    ? myTeamArr.push(allPeple.find(testFunc)) 
    : alert('已存在该人员');

上一篇:ES6—36:Array拓展方法


下一篇:find() && findIndex()