//需求:取出所有小于100的数字,然后每个数字乘以2,最后将所有的数字相加求和
//1.filter过滤函数,回调函数必须返回一个bool值,返回true时将n加到新数组内,false时过滤掉这个n
let num1 = this.num.filter(function(n){
return n<100;
})
console.log(num1);
//2.map遍历函数
let num2 = num1.map(function(n){
return n*2;
})
console.log(num2);
//3.reduc对数组中的内容进行汇总:preVaue为上一次遍历的值,0为初始化值
let num3 = num2.reduce(function(preValue,n){
return preValue + n;
},0)
console.log(num3);
//filter、map、reduce联合使用
let total = this.num.filter(function(n){
return n<100
}).map(function(n){
return n*2
}).reduce(function(pre,n){
return pre +n
},0)
console.log(total);
//更加精简的写法
let finalTotal = this.num.filter(n=>n<100).map(n=>n*2).reduce((pre,n)=>pre+n);
console.log(finalTotal);