编程范式:面向对象编程(第一公民:对象)函数式编程(第一公民:函数)
filter/map/reduce
filter中的回调函数有一个要求:必须返回一个boolean值
true:当返回true时,函数内部会自动将这次回调的n加入到新的数组中
false:当返回false时,函数内部会过滤掉这次的n
const nums = [10,20,111,222,444,50,60]
1.filter的使用
let newNums = nums.filter(function(n){
return n < 100
})
console.log(newNums);
2.map函数的使用
let new2Nums = newNums.map(function(n){
return n*2
})
3.reduce函数的使用
reduce作用对数组中所有的内容进行汇总
let total = new2Nums.reduce(function(preValue,n){
return preValue + n
},0)
简化为
const nums = [10,20,111,222,444,40,50]
let total = nums.filter(function(n){
return n < 100
}).map(function(n){
return n * 2
}).reduce(function(preValue,n){
return preValue + n
},0)
reduce的使用
reduce(第一个参数,第二个参数)
简化为
const nums = [10,20,40,111,222,50,60]
let total = nums.filter(n => n < 100).map(n => n*2).reduce((pre,n) => pre+n);
console.log(total);
200

被折叠的 条评论
为什么被折叠?



