JavaScript Array find()

Definisi dan penggunaan

find() Metode ini kembalikan nilai elemen pertama yang melalui tes (sebagai fungsi yang disediakan).

find() Metode ini melaksanakan fungsi sekali untuk setiap elemen yang ada di dalam array:

  • Jika menemukan elemen array yang mengembalikan nilai true dari fungsi, find() kembalikan nilai elemen array itu (tanpa memeriksa nilai yang tersisa)
  • Jika tidak, kembalikan undefined

注释:find() Jangan lakukan fungsi ini terhadap array kosong.

注释:find() Tidak akan mengubah array asli.

Contoh

Contoh 1

Mendapatkan nilai elemen pertama dalam array yang bernilai 18 atau lebih besar:

var umur = [3, 10, 18, 20];
function checkAdult(age) {
  return age >= 18;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.find(checkAdult);
}

亲自试一试

例子 2

获取数组中第一个其值高于特定数字的元素的值:

<p>Minimum age: <input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">Try it</button>
<p>Any ages above: <span id="demo"></span></p>
<script>
var ages = [4, 12, 16, 20];
function checkAdult(age) {
  return age >= document.getElementById("ageToCheck").value;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.find(checkAdult);
}
</script>

亲自试一试

语法

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

参数值

参数 描述
function(currentValue, index, arr) 必需。为数组中的每个元素运行的函数。

函数参数:

参数 描述
currentValue 必需。当前元素的值。
index 可选。当前元素的数组索引。
arr 可选。当前元素所属的数组对象
thisValue

可选。要传递给函数以用作其 "this" 值的值。

如果此参数为空,则值 "undefined" 将作为其 "this" 值传递。

技术细节

返回值: 如果数组中的任何元素通过测试,则返回数组元素值,否则返回 undefined。
JavaScript 版本: ECMAScript 6

浏览器支持

表格中的数字注明了完全支持该方法的首个浏览器版本。

Chrome Edge Firefox Safari Opera
Chrome 45 Edge 12 Firefox 25 Safari 7.1 Opera 32
2015 年 9 月 2015 年 7 月 2014 年 7 月 2014 年 9 月 2015 年 9 月

注释:Internet Explorer 不支持 find() Kaedah.

Laman yang berkaitan

Panduan:Array JavaScript

Panduan:Array Const JavaScript

Panduan:Kaedah array JavaScript

Panduan:Pengurutan array JavaScript

Panduan:Iterasi array JavaScript