三个函数都是遍历数组里面的每一个元素,非常相似
结构都是:
函数((参数)=>{
return ...
})
但有一些细微的差别:
filter 的return是一个判断条件,一定是一个boolean值,最后返回一个新的数组
map 的return是一个表达式,把数组每一个元素的值进行相关运算,最后返回一个新的数组
reduce 的return也是一个表达式,但是每一步都将当前元素的值与上一步的计算结果相加
var numbers = [65, 44, 12, 4];
numbers.reduce(function getSum(total, num) {
return total + num;
})
//结果125,默认初始值为0
numbers.reduce(function getSum(total, num) {
return total + num;
},10)
//结果135,因为设置了初始值为10