forEach()方法对数组的每个元素执行一次给定的函数。是直接改变了原始数组,不返回新数组。
如果需要返回一个数组使用map();可以说是对数组的每一项进行处理,然后再返回一个新数组。
如果需要返回一个结果使用reduce();可以说是要拿数组中的每一项进行计算。最后得到一个数。例如购物车中的总数,总价钱的计算。
如果需要过滤一个结果使用filter()。排除不需要的项,从而得到一个新的数组。
map()函数传入的参数为一个匿名函数,匿名函数的参数有三个,依次为数组的每一项、数组的索引、数组本身,函数体写入对应的逻辑。循环此匿名函数。比如数组有几项就会执行几次。
reduce()函数也是传入两个参数,一个参数也是一个匿名函数,第二个函数是传入一个值(循环后是累计的值)。第二个参数刚开始会作为初始值会传入第一个匿名函数中作为匿名函数的第一个参数,此匿名函数中的第二参数为数组中的每一个对象。
filter()函数参入的参数也是一个匿名函数,此匿名函数只有一个参数,就是数组中的每一项,在匿名函数体中,使用逻辑得到true或者false。为true就返回在一个数组中,即数组中的每一项都符合匿名函数的逻辑判断。