整理find和findIndex,indexOf区别。findindex和ForEach

218 阅读1分钟

1.find方法返回[数组]中第一个满足条件的元素,找不到返回undefined

语法: arr.find(callback)

callback函数有三个参数。
item:每一次迭代查找的数组元素。
index:每一次迭代查找的数组元素索引。
arr:被查找的数组。

2.findIndex方法返回数组中第一个满足条件的索引,找不到返回-1
语法: arr.findIndex(callback)
callback函数有三个参数。
item:每一次迭代查找的数组元素。
index:每一次迭代查找的数组元素索引。
arr:被查找的数组。

1-2 这两个方法都可以发现NaN,弥补了数组的indexOf方法的不足

findindex和ForEach 都是以遍历处理数据,方法类似,但findIndex效率更高

3.indexOf方法返回在数组中可以找到指定元素的第一个索引,找不到返回-1。
语法:arr.indexOf(value)

内部使用严格相等运算符(===)进行判断,会导致对NaN的误判。不能判断是否有NaN的元素

总结:findIndex 是最完美的 可以通过 -1做判断语句 还可以判断NaN元素