目录

JavaScript Array find()

示例1

查找第一个大于 18 的元素的值:

const ages = [3, 10, 18, 20];

function checkAge(age) {
  return age > 18;
}

function myFunction() {
  document.getElementById("demo").innerHTML = ages.find(checkAge);
}
亲自试一试 »

描述

这个find()方法返回通过测试的第一个元素的值。

这个find()方法为每个数组元素执行一个函数。

这个find()方法返回undefined如果没有找到元素。

这个find()方法不会对空元素执行该函数。

这个find()方法不会改变原始数组。


语法

array.find( function(currentValue, index, arr),thisValue)

参数

function() Required.
A function to run for each array element.
currentValue Required.
The value of the current element.
index Optional.
The index of the current element.
arr Optional.
The array of the current element.
thisValue Optional. Default undefined.
A value passed to the function as its this value.

返回值

类型 描述
一个值 通过测试的第一个元素的值。
否则返回undefined

示例2

查找值高于特定数字的第一个元素的值:

<p><input type="number" id="ageToCheck" value="18"></p>

<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

<script>
const ages = [4, 12, 16, 20];

function checkAge(age) {
  return age > document.getElementById("ageToCheck").value;
}

function myFunction() {
  document.getElementById("demo").innerHTML = ages.find(checkAge);
}
</script>
亲自试一试 »


浏览器支持

find()是 ECMAScript6 (ES6) 功能。

所有现代浏览器都支持 ES6 (JavaScript 2015):

Chrome Edge Firefox Safari Opera
Yes Yes Yes Yes Yes

find()Internet Explorer 11(或更早版本)不支持。