ES6為Array增加了find(),findIndex函數。 find()函數用來找出目標元素,找到就回傳該元素,找不到回傳undefined,而findIndex()函數也是找出目標元素,找到就回傳元素的位置,找不到就回傳-1。下面透過實例詳解,需要的朋友參考下吧
ES6為Array增加了find(),findIndex函數。
find()函數用來找出目標元素,找到就回傳該元素,找不到回傳undefined。
findIndex()函數也是找出目標元素,找到就回傳元素的位置,找不到就回傳-1。
他們的都是一個找回呼函數。
[1, 2, 3, 4].find((value, index, arr) => { })
查找函數有三個參數。
value:每一次迭代查找的陣列元素。
index:每一次迭代查找的陣列元素索引。
arr:被找出的陣列。
範例:
1.找出元素,傳回找到的值,找不到回傳undefined。
const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] var ret1 = arr1.find((value, index, arr) => { return value > 4 }) var ret2 = arr1.find((value, index, arr) => { return value > 14 }) console.log('%s', ret1) console.log('%s', ret2)
結果:
undefined
2.找出元素,傳回找到的index,找不到回傳-1。
var ret3 = arr1.findIndex((value, index, arr) => { return value > 4 }) var ret4 = arr1.findIndex((value, index, arr) => { return value > 14 }) console.log('%s', ret3) console.log('%s', ret4)
結果:
4
-1
3.找出NaN。
const arr2 = [1, 2, NaN, 4, 5, 6, 7, 8, 9, 10, 11] var ret5 = arr2.find((value, index, arr) => { return Object.is(NaN, value) }) var ret6 = arr2.findIndex((value, index, arr) => { return Object.is(NaN, value) }) console.log('%s', ret5) console.log('%s', ret6)
結果:
NaN
2
以上是詳解ES6中Array.find()和findIndex()函數用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!