const nums = [10, 20, 111, 222, 444, 40, 50];
console.log(nums);
// 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;
})
console.log(new2Nums)
//3.reduce
let total = new2Nums.reduce(function (preValue, n) {
    return preValue + n;
}, 0)
console.log(total);
//终极写法
let total = nums.filter(n => n < 100).map(n => n * 2).reduce((pre, n) => pre + n)
console.log(total)
//串联写法
let newNums = nums.filter(function (n) {
    return n < 100;
}).map(function (n) {
    return n * 2;
}).reduce(function (preValue, n) {
    return preValue + n;
}, 0)
console.log(newNums)