JavaScript find() 方法

Array 對象參考手冊 JavaScript Array 對象

實例

獲取數組中年齡大於 18 的第一個元素

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

fruits 輸出結果:

18


定義和用法

find() 方法返回通過測試(函數內判斷)的數組的第一個元素的值。

find() 方法為數組中的每個元素都調用一次函數執行:

  • 當數組中的元素在測試條件時返回 true 時, find() 返回符合條件的元素,之後的值不會再調用執行函數。
  • 如果沒有符合條件的元素返回 undefined

注意: find() 對於空數組,函數是不會執行的。

注意: find() 並沒有改變數組的原始值。


流覽器支持

表格中的數字表示支持該方法的第一個流覽器版本號。

方法
find() 45.0 12.0 25.0 7.1 32.0

注意: IE 11 及更早版本不支持 find() 方法。


語法

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

參數

參數 描述
function(currentValue, index,arr) 必需。數組每個元素需要執行的函數。
函數參數:
參數 描述
currentValue 必需。當前元素
index 可選。當前元素的索引值
arr 可選。當前元素所屬的數組對象
thisValue 可選。 傳遞給函數的值一般用 "this" 值。
如果這個參數為空, "undefined" 會傳遞給 "this" 值

技術細節

返回值: 返回符合測試條件的第一個數組元素值,如果沒有符合條件的則返回 undefined
JavaScript 版本: ECMAScript 6

更多實例

實例

返回符合大於輸入框中數字的數組索引值:

var ages = [4, 12, 16, 20]; function checkAdult(age) { return age >= document.getElementById("ageToCheck").value; } function myFunction() { document.getElementById("demo").innerHTML = ages.find(checkAdult); }


Array 對象參考手冊 JavaScript Array 對象