1.forEach遍历:
function sum(arr) {
var result = 0;
arr.forEach(function(item,index) {
result += item;
});
return result;
};
2.reduce
function sum(arr) {
return arr.reduce(function(pre,cur){
return pre+cur;
})
}
var sum=[2,4,1];
let nums=sum.reduce(function(pre,cur){
return pre+cur;
})
nums //7
var books=[{
name:'语文',
price:20
},
{
name:'数学',
price:21
},
]
let prices=books.reduce(function(pre,item){
return pre+item.price*2;
},0)
prices
82
3. eval
function sum(arr) {
return eval(arr.join("+"));
}
[1,2,3,4].join('+')
//"1+2+3+4"
eval("1+2+3+4");
//10
4.filter
var sum=[2,4,1,3,7,5,6,9];
let nums=sum.filter(function(item){
return item<5;
})
nums // [2, 4, 1, 3]
5.map
var sum=[2,4,1,3,7,5,6,9];
let nums=sum.map(function(item){
return item*2;
})
nums // [4, 8, 2, 6, 14, 10, 12, 18]
6.常规循环
function sum(arr) {
var result= 0;
var len=arr.length;
for (var i=0;i<len;i++) {
result += arr[i];
}
return result;
}
var sum=[2,4,1,3,7,5,6,9];
let nums=sum.filter(n=>n<=3).map(n=>n*2).reduce((pre,cur)=>pre+cur);
nums //12