find()
方法返回满足所提供测试函数的第一个数组元素的**值**。
示例
let numbers = [1, 3, 4, 9, 8];
// function to check even number
function isEven(element) {
return element % 2 == 0;
}
// get the first even number
let evenNumber = numbers.find(isEven);
console.log(evenNumber);
// Output: 4
find() 语法
find()
方法的语法是
arr.find(callback(element, index, arr),thisArg)
这里,arr 是一个数组。
find() 参数
find()
方法接受
- callback - 对数组的每个元素执行的函数。它接受
- element - 数组的当前元素。
- thisArg (可选) - 在 callback 内部用作
this
的对象。
find() 返回值
- 返回满足给定函数的数组中**第一个元素**的**值**。
- 如果没有任何元素满足该函数,则返回 undefined。
示例 1:使用 find() 方法
function isEven(element) {
return element % 2 == 0;
}
let randomArray = [1, 45, 8, 98, 7];
let firstEven = randomArray.find(isEven);
console.log(firstEven); // 8
// using arrow operator
let firstOdd = randomArray.find((element) => element % 2 == 1);
console.log(firstOdd); // 1
输出
8 1
示例 2:find() 与对象元素
const team = [
{ name: "Bill", age: 10 },
{ name: "Linus", age: 15 },
{ name: "Alan", age: 20 },
{ name: "Steve", age: 34 },
];
function isAdult(member) {
return member.age >= 18;
}
console.log(team.find(isAdult)); // { name: 'Alan', age: 20 }
// using arrow function and deconstructing
let adultMember = team.find(({ age }) => age >= 18);
console.log(adultMember); // { name: 'Alan', age: 20 }
输出
{ name: 'Alan', age: 20 } { name: 'Alan', age: 20 }