JavaScript Array find()

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 }

推荐阅读: JavaScript Array.findIndex()

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战