JS数组求和的几种常见方法总结

作者:半夏

时间:2026-10-26

浏览:395

本文总结了JavaScript中数组求和的多种实现方式,包括通过原型扩展内置方法、普通for循环、递归调用、函数式编程reduce以及forEach遍历。此外还介绍了使用eval()方法的技巧及其注意事项,帮助开发者根据场景选择合适方案。

文章目录

本文主要介绍JavaScript中实现数组求和的几种常用技术手段。

第一种方式是通过扩展Array原型对象,为内置数组类型添加自定义方法。

<script>
      Array.prototype.sum = function () {
        var sum = 0;
        for (var i = 0; i < this.length; i++) {
          sum += this[i];
        }
        return sum;
      };
      var arr = [1, 2, 3, 4];
      console.log(arr.sum()); // 10
    </script>

第二种方式是利用普通的for循环编写求和函数。

<script>
      function sum(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(sum(arr)); // 10
    </script>

第三种方式采用递归逻辑进行数组元素累加。

<script>
      function sum(arr) {
        if (arr.length == 0) {
          return 0; // 递归出口
        } else {
          return arr[0] + sum(arr.slice(1));
        }
      }
      var arr = [1, 2, 3, 4];
      console.log(sum(arr)); // 10
    </script>

第四种方式借助函数式编程中的reduce方法实现求和。

<script>
      function sum(arr) {
        return arr.reduce(function (total, value) {
          return total + value;
        }, 0);
      }
      var arr = [1, 2, 3, 4];
      console.log(sum(arr)); // 10
    </script>

补充说明:在使用reduce()方法时,需注意其最后一个参数的作用,此处存在一个容易出错的特殊情况,请留意避坑。

第一种方式是通过扩展Array原型对象,为内置数组类型添加自定义方法。

第五种方式是通过forEach遍历数组元素进行累加。

<script>
      function sum(arr) {
        var s = 0;
        arr.forEach(function (value) {
          s += value;
        });
        return s;
      }
      var arr = [1, 2, 3, 4];
      console.log(sum(arr)); // 10
    </script>

第六种方式是利用eval()函数执行拼接后的字符串表达式来求和。

<script>
      function sum(arr) {
        return eval(arr.join("+"));
      }
      var arr = [1, 2, 3, 4];
      console.log(sum(arr)); // 10
    </script>

参考文献:

1:JS数组求和的常用方法总结【5种方法】。

2:JS函数式编程里使用Map和Reduce方法。

3:JS中的eval()方法详解-eval方法的初级应用。

总结

至此,关于JS数组求和的几种常见方法总结的文章介绍完毕。如需了解更多JS数组求和相关内容,建议搜索本站历史文章或继续浏览下方推荐内容,感谢大家的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章