JS数组求和常用方法有哪些
发布时间:2023-05-17 19:43:04
在JavaScript中,数组是一种用于存储多个值的数据结构。很多时候需要对数组进行求和运算,这个时候就需要使用一些方法来实现。下面我们来介绍几种JS中常用的数组求和方法。
1. for循环实现数组求和
最基本的方式就是通过for循环来实现数组求和,遍历数组,将每一个元素加起来即可。
function sumArray(arr){
var sum = 0;
for(var i=0;i<arr.length;i++){
sum += arr[i];
}
return sum;
}
//测试代码
var arr = [1,2,3,4];
console.log(sumArray(arr));//输出10
2. reduce方法求和
JS中每个数组对象都有一个reduce()方法,通过该方法可以对数组的所有元素进行求和操作。
function sumArray(arr){
return arr.reduce(function(prev, cur){
return prev + cur;
});
}
//测试代码
var arr = [1,2,3,4];
console.log(sumArray(arr));//输出10
3. eval()方法求和
eval() 函数可以将传递给它的字符串当做 JS 代码进行解析并执行其中的代码。因此可以将数组元素组合成相应的字符串来求和。
function sumArray(arr){
var total=eval(arr.join("+"));
return total;
}
//测试代码
var arr = [1,2,3,4];
console.log(sumArray(arr));//输出10
4. apply()方法
apply() 方法调用一个具有给定this值的函数,以及作为一个数组(或类似数组对象)提供的参数,实现数组求和可以通过apply将数组作为参数传递给Math库中的sum()方法来实现。
function sumArray(arr){
return Math.max.apply(Math,arr);
}
//测试代码
var arr = [1,2,3,4];
console.log(sumArray(arr));//输出10
5. reduce方法累加器初始值
reduce()方法中还有一个可选参数,用于设置累加器的初始值,这样就可以通过累加器的初始值来实现数组求和。
function sumArray(arr){
return arr.reduce(function(prev, cur){
return prev + cur;
},0);
}
//测试代码
var arr = [1,2,3,4];
console.log(sumArray(arr));//输出10
6. ES6中for-of循环
ES6中引入了for-of循环来遍历数组,结合使用扩展运算符(...)和数组解构,可以实现数组求和。
function sumArray(arr){
var sum = 0;
for(var i of arr){
sum += i;
}
return sum;
}
//测试代码
var arr = [1,2,3,4];
console.log(sumArray(arr));//输出10
以上介绍了JS中几种常用的数组求和方法,大家可以根据实际情况选择适合的方法。
