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