数组求和

题目描述

计算给定数组 arr 中所有元素的总和

输入描述:

数组中的元素均为 Number 类型

示例1

输入

[ 1, 2, 3, 4 ]

输出

10


1.最普通的累加

function sum(arr) {
    var sum=0,l=arr.length;
    for(var i=0;i<l;i++){
        sum+=arr[i];
    }
    return sum;
}

2.forEach

function sum(arr) {
    var s = 0;
    arr.forEach(function(val, idx, arr) {
        s += val;
    }, 0);
  
    return s;
};

 

3.函数式编程,reduce

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

 

function sum(arr) {
    return arr.reduce(function(prev, curr, idx, arr){
        return prev + curr;
    });
}

4.join、eval

join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

function sum(arr) {
    return eval(arr.join("+"));
};

 

 

 

 

 


版权声明:本文为Ttian6原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。