关于高阶函数的使用,之前一直都模模糊糊,今天总结下使用方便记忆
常用的3个
filter ,map ,reduce 这几个都是数组对象的函数
//1.将数组中小于100的数字返回,并将这些数字乘以2 然后将他们的总和计算出来
let arr = [1, 4, 5, 10, 53, 112, 786, 211, 13, 235, 246, 26, 213, 6];
//将符合条件的过滤
let newarr = arr.filter(function (n) {
return (n < 120) ? true : false;
})
console.log(newarr);
//映射
// n 当前元素的值 index 当前元素的索引值 newarr 当前元素属于的数组对象 一般newarr不写也行
let plusarr = newarr.map(function (n, index, newarr) {
// console.log(n, index, newarr);
return n * 2;
})
console.log(plusarr);
// 0 为初始值
let total = plusarr.reduce(function (preValue, currentValue) {
return preValue + currentValue;
}, 0)
console.log(total);