Arry.prototype.find()
语法
find()
方法返回数组中满足提供的测试函数的**第一个元素的值
**。否则返回 undefined
。
Arry.find(function(element,index,arry)=>{
},thisArg)
element
:数组正在处理的当前元素。
index
:数组正在处理当前元素的索引。
arry
:当前被调用的数组
const array1 = [5, 12, 8, 130, 44];
const found = array1.find((element, index, arry) => {
console.log(element)
//5,12,8,130,44
console.log(index)
//0,1,2,3,4
console.log(arry)
//[5, 12, 8, 130, 44]
});
例子
1.查找数组中大于10的数字
const array1 = [5, 12, 8, 130, 44];
const found = array1.find((element, index, arry) => {
return element > 10
});
console.log(found);
//12
2.在对象数组中通过对象属性进行查找
const inventory = [
{ name: "apples", quantity: 2 },
{ name: "bananas", quantity: 0 },
{ name: "cherries", quantity: 5 },
];
const result = inventory.find(({ name }) => name === "cherries");
console.log(result);
// { name: 'cherries', quantity: 5 }
3.在非数组上面调用find()
find()
方法读取 this
的 length
属性,然后访问每个整数索引
注(对象中的数据中的每个key应该从0开始)
const arrayLike = {
length: 3,
0: 2,
1: 7.3,
2: 4,
};
console.log(Array.prototype.find.call(arrayLike, (x) => !Number.isInteger(x)));
// 7.3
Number.isInteger()
:判断是否为整数