高阶函数 filter map reduce
// 高阶函数 filter map reduce 用es6语法写demo
// 过滤小于20的值,返回布尔值 true 或者 false
// 循环数组中的每一个元素
//接受一个函数作为参数,这个函数作为一个累加器,从左到右遍历整个类型数组,最后返回一个单一的值
const nums = [10, 15, 18, 25, 34];
let newNums = nums.filter(item => item < 20)
.map(item2 => item2 * 2)
.reduce((total, item3) => total + item3);
// filter 结束后 newNums = [10, 15, 18]
// map 结束后 newsNums = [20, 30, 36];
// reduce 结束后 86
const nums = [10, 15, 18, 25, 34];
let newNum_1 = nums.filter(function (item1) {
return item1 < 20;
});
console.log(newNum_1); // [10, 15, 18]
let newNum_2 = newNum_1.map(function (item2) {
return item2 * 2;
});
console.log(newNum_2); // [20, 30, 36]
let newNum_3 = newNum_2.reduce(function (total, item3) {
return total + item3;
})
console.log(newNum_3); // 86