filer/map/reduce高阶函数
2020-03-18 本文已影响0人
廖小芝
filer函数
filter中的回调函数有一个要求:必须返回一个boolean值
true:当返回true时,函数内部会自动将这次回调的n加入到新的数组
false:当返回false时,函数内部会过滤掉这次的n
const nums = [10,110,222,161,55,18,60]
let newNums = nums.filter(function(n){
return n<100
})
console.log(newNums);//[10, 55, 18, 60]
map函数
let new2Nums = newNums.map(function(n){
return n*2
})
console.log(new2Nums)// [20, 110, 36, 120]
reduce函数
reduce作用对数组中所有的内容进行汇总
let total = new2Nums.reduce(function(preNum,n){
return preNum + n;
},0)
console.log(total)//286
const nums = [10,110,222,161,55,18,60]
let totalValue = nums.filter(n => n<100).map(n => n*2).reduce((pre,n) => pre + n);
console.log(totalValue)//286
let totalnum = nums.filter(function(n){
return n<100
}).map(function(n){
return n*2
}).reduce(function(preNum,n){
return preNum + n
},0)
console.log(totalValue)//286