数组求和

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

输入描述:

数组中的元素均为 Number 类型

 

示例1

输入

[ 1, 2, 3, 4 ]

输出

10

 

1.最简单的用for循环

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

2.用eval和join做

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

}

知识点:

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

 

语法

eval(string)
参数描述
string必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。

返回值

通过计算 string 得到的值(如果有的话)。

②join() 方法用于把数组中的所有元素放入一个字符串。

 

语法

arrayObject.join(separator)
参数描述
separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

返回值

返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入separator 字符串而生成的。

 

 

3.用for each

function sum(arr) {
    var sum = 0;
    arr.forEach(function(Value,index,arr){
           sum += Value;
    },0);
    return sum;

}

 

知识点:forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

 

语法

array.forEach(function(currentValue, index, arr), thisValue)

参数

参数描述
function(currentValue, index, arr)必需。 数组中每个元素需要调用的函数。
函数参数:
参数描述
currentValue必需。当前元素
index可选。当前元素的索引值。
arr可选。当前元素所属的数组对象。
thisValue可选。传递给函数的值一般用 "this" 值。
如果这个参数为空, "undefined" 会传递给 "this" 值

 

 

4.用reduce

function sum(arr) {
    return arr.reduce(function(total,value,index,arr){
        return total + value;
    });
}

 

 

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

 

语法

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

参数

参数描述
function(total,currentValue, index,arr)必需。用于执行每个数组元素的函数。
函数参数:
参数描述
total必需。初始值, 或者计算结束后的返回值。
currentValue必需。当前元素
currentIndex可选。当前元素的索引
arr可选。当前元素所属的数组对象。
initialValue可选。传递给函数的初始值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值