3种实现方法:1、使用for循环,语法“for(i=0;i<数组长度;i++){sum+=arr[i];}”;2、使用forEach()函数,语法“function f(value){sum+=value;}数组对象.forEach(f);”;3、使用reduce()函数,语法“function f(p,c){s=p+c;return s;}数组对象.reduce(f);”。
前端(vue)入门到精通课程:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
方法1:使用for循环
实现思想:
-
使用for循环遍历数组
-
在循环体中,利用“+=”运算符将数组元素一个个相加求和
实现示例:
var arr = [1,2,3,4,5,6,7,8,9,10]; var i,sum=0; for(i=0;i<arr.length;i++){ //循环遍历数组 //将数组元素一个个相加求和 sum+=arr[i]; } console.log(sum);
方法2、使用forEach()方法
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
语法:
array.forEach(funtion callbackfn(value, index, array), thisValue)
funtion callbackfn(value, index, array)
:必需参数,指定回调函数,最多可以接收三个参数:
-
value:数组元素的值。
-
index:数组元素的数字索引。
-
array:包含该元素的数组对象。
thisValue
:可省略的参数,回调函数中的 this 可引用的对象。如果省略 thisArg,则 this 的值为 undefined。
下面通过代码示例来具体了解一下:
示例:将数组值进行累加求和
var a = [10, 11, 12], sum = 0; function f(value) { sum += value; } a.forEach(f); console.log(sum);
方法3、使用reduce() 方法
reduce() 方法可对数组中的所有元素调用指定的回调函数。该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。
语法:
array.reduce(function callbackfn(previousValue, currentVaule, currentIndex, array), initialValue)
function callbackfn(previousValue, currentVaule, currentIndex, array)
:必需参数,指定回调函数,最多可以接收4个参数:
-
previousValue:通过上一次调用回调函数获得的值。如果向 reduce() 方法提供 initialValue,则在首次调用函数时,previousValue 为 initialValue。
-
currentVaule:当前元素数组的值。
-
currentIndex:当前数组元素的数字索引。
-
array:包含该元素的数组对象。
initialValue
:可省略的参数,传递给函数的初始值。
下面通过代码示例来具体了解一下:
示例:将数组值进行累加求和
var a = [11, 12, 13], sum = 0; function f(pre,curr) { sum=pre+curr; return sum; } a.reduce(f); console.log(sum);
输出结果:
【