yorickshan
5/30/2019 - 2:55 AM

判断数组中是否存在某一数值

indexOf()

存在返回值的下标,不存在返回-1

arr.find()

参数是一个回调函数(定制化查找条件),所有的数组元素依次遍历该回调函数

返回第一个符合条件(返回值为true)的数组元素, 如果所有的元素都不符合条件,则返回undefined

arr.find(function(value) { 

   if(value === 要查找的值) { 

       //则包含该元素    

}})

arr.findIndex()

返回第一个符合条件(返回值为true)的数组元素的位置,如果所有的元素都不符合条件,则返回-1

find(), findIndex()弥补了index的不足:(即判断NAN)

[NaN].indexOf(NaN) // -1

[NaN].findIndex(y => Object.is(NaN, y))// 0 

// Object.is() 方法判断两个值是否是相同的值