返回

ES6 Array.prototype.find():查找数组中的第一个符合条件的元素

前端

ES6 引入了许多有用的数组方法,其中之一就是 find() 方法。find() 方法用于从数组中查找第一个符合给定条件的元素。如果未找到符合条件的元素,则返回 undefined

语法

Array.prototype.find(callback(element, index, array), thisArg)
  • callback:一个函数,用于测试数组中的每个元素。此函数接受三个参数:
    • element:当前正在测试的元素。
    • index:当前正在测试的元素的索引。
    • array:正在被搜索的数组。
  • thisArg:可选参数,指定 callback 函数的 this 值。

参数

  • callback:一个函数,用于测试数组中的每个元素。此函数接受三个参数:
    • element:当前正在测试的元素。
    • index:当前正在测试的元素的索引。
    • array:正在被搜索的数组。
  • thisArg:可选参数,指定 callback 函数的 this 值。

返回值

如果找到符合条件的元素,则返回该元素。否则,返回 undefined

示例

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

// 查找第一个大于 5 的元素
const firstNumberGreaterThan5 = numbers.find((element) => element > 5);

console.log(firstNumberGreaterThan5); // 6

// 查找第一个偶数
const firstEvenNumber = numbers.find((element) => element % 2 === 0);

console.log(firstEvenNumber); // 2

// 查找第一个不等于 5 的元素
const firstNumberNotEqualTo5 = numbers.find((element) => element !== 5);

console.log(firstNumberNotEqualTo5); // 1

// 如果未找到符合条件的元素,则返回 undefined
const firstNumberGreaterThan10 = numbers.find((element) => element > 10);

console.log(firstNumberGreaterThan10); // undefined

浏览器兼容性

浏览器 版本 支持
Chrome 49+
Firefox 44+
Safari 10.1+
Edge 12+
Internet Explorer

结论

find() 方法是一个非常有用的数组方法,可以帮助您快速找到数组中符合给定条件的第一个元素。它比传统的 for 循环更简洁、高效,并且在浏览器中得到了广泛的支持。