filter 函数
filter中的回调函数有一个要求:必须返回一个boolean值
true当返回true时,函数内部会自动将这次回调的n加入到新的数组中
flase当返回false时,函数内部会过滤掉这次的n
如下图,数组里有七个数,filter的回调函数,每遍历一次,就会执行一次回调函数,所以会执行七次。
过滤出小于100的数字:
map 函数
map函数,跟filter一样同意后面跟一个回调函数,然后将每次遍历得到的值,返回给一个新的数组,下图是将上面filter得到的四个数字10,20,40,50再*2然后返回给new2Nums
reduce 函数
reduce作用是对数组中所有的内容进行汇总,要求传入两个参数:
参数一比较特殊,因为其本身又是一个函数,因为我们是对new2Nums使用reduce,而new2Nums里面有四个值,所以此时会遍历四次。
preValue 上一次执行的结果
n每次执行的值currentValue
0初始值 就是为第一次的pre赋值
首先有四个值
然后将reduce里return写死,全部为100
四次的执行结果就如下图所示:
懂得了基本原理,我们就可以做下面这题,求上面四个值的总和,就是把上一次的pre与当前的n进行相加,再将结果返回给total
最终得到的结果分析: