ES6中find()和findIndex()方法
ES6中新增了两个数组方法:find()和findIndex(),它们都可以用来查找数组中满足条件的元素,但是它们的返回值不同。find()方法返回满足条件的元素值,而findIndex()方法则返回满足条件的元素索引值。
find()方法的使用
find()方法接收一个函数作为参数,该函数接收三个参数:当前元素、当前索引、原数组,当满足函数的条件时,会返回满足条件的元素值。如果没有满足条件的元素,则返回undefined。
let arr = [1, 2, 3, 4, 5]; let result = arr.find(function(value, index, arr){ return value > 3; }); // result 为 4
findIndex()方法的使用
findIndex()方法接收一个函数作为参数,该函数接收三个参数:当前元素、当前索引、原数组,当满足函数的条件时,会返回满足条件的元素索引值。如果没有满足条件的元素,则返回-1。
let arr = [1, 2, 3, 4, 5]; let index = arr.findIndex(function(value, index, arr){ return value > 3; }); // index 为 3
find()和findIndex()方法的区别
从使用上来说,find()和findIndex()方法的参数和使用方式几乎一样,只是它们的返回值不同。find()方法返回满足条件的元素值,而findIndex()方法则返回满足条件的元素索引值。
- find()方法返回满足条件的元素值,如果没有满足条件的元素,则返回undefined。
- findIndex()方法返回满足条件的元素索引值,如果没有满足条件的元素,则返回-1。