介绍
在 ES6 中,forEach
方法已经变得非常实用了,可是在 ES7 中,又新增了一些关于 forEach
的新方法,这些新方法的出现不但让我们更能发挥出 forEach
的优势,同时能够写出更简洁、高效且可读性更强的代码。本文将介绍 forEach
的四种新方法,让读者能够更好地使用 forEach
。
map
ES7 中的 map
方法以数组为基础,将传递的函数作用于原数组的每一个元素,并返回一个新数组。map
方法有以下优点:
map
方法能够因为使用了箭头函数和隐式返回的方式,让代码更加简洁和可读性。map
方法使用了机制与 forEach 相似,同时又返回了一个新数组,因此不会修改原数组。
let arr1 = [1,2,3,4,5]; let arr2 = arr1.map(item => item*2); // [2,4,6,8,10]
filter
ES7 中的 filter
方法能够以数组为基础,遍历每一个元素,并根据传递的函数返回一个新数组,新数组的每一个元素是原数组中符合条件的元素。filter
方法有以下优点:
filer
方法能够非常快地产生一个新数组。filter
方法能够很快地创建一个基于现有数组的新数组,并且不会修改原数组。
let arr1 = [1,2,3,4,5]; let arr2 = arr1.filter(item => item>=3); // [3,4,5]
find
ES7 中的 find
方法以数组为基础,遍历每一个元素,并且根据传递的函数返回一个符合条件的元素。find
方法有以下优点:
find
方法只返回一个匹配的元素,因此它比遍历整个数组更快。find
方法只返回一个元素,但能够根据传递的函数查找符合条件的元素。
let arr1 = [1,2,3,4,5]; let arr2 = arr1.find(item => item===3); // 3
findIndex
ES7 中的 findIndex
方法以数组为基础,遍历每一个元素,并且根据传递的函数返回一个符合条件的元素的索引值。findIndex
方法有以下优点:
findIndex
方法非常快地返回一个匹配的索引值。findIndex
方法能够根据传递的函数查找符合条件的元素的索引值。
let arr1 = [1,2,3,4,5]; let arr2 = arr1.findIndex(item => item===3); // 2
总结
以上就是 ES7 中有关 forEach
的一些新方法,当然这些方法不一定适用于每一个场景,大家要根据自己实际场景进行选择。同时这些新方法也提供了 ES6 语法的升级版本,可以让你写出更加高效、简洁的代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6522556395b1f8cacd9c11a1