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
上一篇 下一篇

猜你喜欢

热点阅读