map()和forEach()
map()和forEach()都是遍历数组的方法,用法类似,但还是有很大的差别:
相同点:1、都是循环遍历数组中的每一项。
2、在遍历中执行匿名函数都可以接收三个参数,分别为:遍历过程的每一项、遍历序号(也叫索引值)、原数组。
3、执行的匿名函数中的this都指向window。
不同点:map():根据遍历执行的匿名函数,对于原数组中的每个值产生一个对应的值,并返回一个新的数组,存在一个映射关系,并且不会改变原数组,不会对空数组进行检测。
forEach():只是按照顺序把数组中的元素传递给forEach中的匿名函数使用,对于空数组则不会调用到匿名函数。
当map使用箭头函数方式书写时:
1.只包含一个表达式,这时花括号和return都省略了。
2.如果包含多条语句,这时花括号和return都不能省略。