JavaScript find() 方法
實例
獲取數組中年齡大於 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) | 必需。數組每個元素需要執行的函數。 函數參數:
|
||||||||
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);
}