·  阅读

数组求和可以用以下几种方法做:

  • 普通遍历

function sum(arr){

var s=0;

for(var i=0; i<arr.length; i++){

s+=arr[i];

}

return s;

}

  • arr.reduce

function sum(arr){

var s = arr.reduce(function(prev,curr,idx,arr){

return prev+curr;

},0)

return s;

}

数组方法reduce用来迭代一个数组,并将数组中的值进行累加,reduce在使用时,要传入一个回调函数,即累加器,这个回调函数中有四个值,prev为初始值,curr为当前值,二者必不可少,idx索引和arr数组对象可选。

reduce方法有一个可选的第二个参数,用来设置累加器的初始值,如果不设置,则累加器初始值prev为arr数组的第一个值,curr则从数组的第二个值开始。

  • arr.forEach

function sum(arr){

var s=0;

var sum = arr.forEach(function(val,idx,arr){

s+=val;

},0)

return s;

}

数组方法forEach用于遍历数组的每一个元素,并将元素值传给回调函数。

  • arr.map

function sum(arr){

var s=0;

arr.map(function(val,idx,arr){

s+=val;

})

return s;

}

map和forEach使用方法相同。

  • eval

function sum(arr){

return eval(arr.join('+'));

}

JavaScript的eval函数,用于计算某个字符串并执行其中的JavaScript代码;数组的join方法用于把数组中的元素放入一个字符串中,使用特定的分隔符进行连接。


分类:
前端