数组求和

xiaoxiao2025-07-26  22

计算给定数组 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可选。传递给函数的初始值
转载请注明原文地址: https://www.6miu.com/read-5033747.html

最新回复(0)