欢迎访问宙启技术站
智能推送

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中几种常用的数组求和方法,大家可以根据实际情况选择适合的方法。