JS数组求和的几种方法

这篇具有很好参考价值的文章主要介绍了JS数组求和的几种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这篇文章主要介绍了JS数组求和的几种常用方法

  • 方法一:通过原型对象扩展内置对象方法(即给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()方法的最后一个参数(下面是个特例),避坑!!!
JS数组求和的几种方法

  • 方法五: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数组求和的几种方法文章来源地址https://www.toymoban.com/news/detail-430086.html

到了这里,关于JS数组求和的几种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++中创建二维数组的几种方法

    或者

    2024年02月15日
    浏览(36)
  • matlab求数组长度的几种方法及示例

    在MATLAB中,可以使用多种方法获取数组的长度。下面是其中几种常见的方法: 使用内置函数length() length()函数可用于获取一个数组或向量的长度,即元素的数量。例如: A = [1,2,3,4,5]; len = length(A); disp(len); % 输出5 使用内置函数size() size()函数返回一个数组或矩阵的维度信息,包

    2024年02月09日
    浏览(34)
  • JS debug跳过的几种方法

    第一种反调试解决方法: 禁用断点法 第二种反调试解决方法: 从来不执行法 第三种反调试解决方法: 条件断点法 第四种反调试解决方法:置空函数法 找到这个debug方法名,在控制台重写替换,将其置空。 第五种反调试解决方法:本地替换法 第六种反调试解决方法:ReRes法 谷

    2024年02月16日
    浏览(37)
  • JS里数组合并的几种方法

    JS 中有多种方法可以将多个数组合并成一个数组。 1、使用 Array.prototype.concat() 合并:concat() 方法可以将多个数组合并成一个新数组。 2、使用扩展运算符 (...) 合并:扩展运算符可以将多个数组合并成一个新数组。 3、使用 Array.prototype.push.apply() 合并:push.apply() 方法可以将多个

    2024年02月12日
    浏览(34)
  • JS实现深拷贝的几种方法

    这是最简单的方法。 通过递归的方式深度遍历对象,将每个属性的值进行复制。需要处理被复制对象为值类型的情况以及属性值中包含对象的情况。需要注意的是,为了防止循环引用导致死循环,需要记录已经遍历过的对象。 Lodash Lodash 是一个一致性、模块化、高性能的 J

    2024年02月11日
    浏览(46)
  • js中断 forEach 循环的几种方法

    1、使用 Array.prototype.some() 方法代替 some() 方法会在找到第一个符合条件的元素时停止循环。 例如: 上述代码会在找到第一个符合条件的元素(即 3)时停止循环。 2、使用 Array.prototype.every() 方法代替 上述代码会在找到第一个符合条件的元素(即 3)时停止循环。 请注意,该

    2024年02月14日
    浏览(38)
  • JS 实现页面跳转的几种方法

    我总结了这五种方法: 第一种:使用JS跳转页面 (1)跳转带参 (2)跳转无参 第二种:返回上一次预览界面 HTML页面嵌套 第三种:button按钮添加事件跳转   第四种:在新窗口打开 第五种:通过meta设置跳转页面 这里还有一个页面传值 第一个页面 第二个页面

    2024年02月01日
    浏览(38)
  • JS中跳转传参的几种方法

    在JavaScript中,页面跳转并传递参数主要有以下几种方法: 1. 使用URL的查询字符串 这是最常见的方法,你可以在URL后面添加查询字符串来传递参数。查询字符串以 ? 开始,参数之间用 分隔。 例如: 在接收页面,你可以使用 window.location.search 来获取查询字符串,然后解析它来

    2024年04月26日
    浏览(39)
  • 重生之我是孔乙己——查找数组缺失元素的几种方法

      💌 博客内容:查找缺失元素 😀 作  者:陈大大陈 🚀 个人简介:一个正在努力学技术的准前端,专注基础和实战分享 ,欢迎私信! 💖 欢迎大家:这里是CSDN,我总结知识和写笔记的地方,喜欢的话请三连,有问题请私信 😘 😘 😘 目录 题目  排序法  异或法  最天

    2023年04月10日
    浏览(30)
  • C/C++打印二维数组的几种方法(都进来给我补充!!!)

    1、双重for循环法: 2、一个for循环打印二维数组 3、利用指针数组来打印二维数组 4、指针数组打印二维数组第二版

    2024年02月09日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包