ES6,Array.find()和findIndex()函數的用法


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)

結果:

5
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   

 

End

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM