JS数组求和的几种方法

5 篇文章 1 订阅
订阅专栏

这篇文章主要介绍了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()方法的最后一个参数(下面是个特例),避坑!!!
reduce()方法的最后一个参数解析

  • 方法五: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数组求和几种方式
ForgivenCheney的博客
07-19 2782
[Talk is cheap. Show me the code] 不想看理论知识请直接移步最后代码示例。 这里只写了几个简单的例子,其中sum2方法在掘金上有很多争议的地方。自己仅作为学习记录下来。 一、es5 function sum(arr){ if(Array.isArray(arr)){ var arrSum = 0 for(var i=0;...
JS数组求和的常用方法总结【5种方法
10-17
主要介绍了JS数组求和的常用方法,结合实例形式总结分析了5种数组求和的常见操作方法与相关处理技巧,需要的朋友可以参考下
JS数组求和的常用方法
He_9a9的博客
08-30 4567
简单介绍JS数组求和几种常用方法
计算js一个数组arr所有元素的和(6种方法)
最新发布
2301_76917834的博客
07-12 439
【代码】计算js一个数组arr所有元素的和(6种方法)
js 数组求和多种方法
m0_64494670的博客
09-25 2万+
js使用函数多种求和方法
js数组求和的5种方法
qq_39186695的博客
01-18 4609
计算给定数组 arr 中所有元素的总和。数组中的元素均为 Number 类型。
JS 数组求和
qq_22177261的博客
08-19 649
function sum(list){ return eval(list.join("+")); } eval 用于字符串的求和
JS数组求和的常用方法实例小结
10-17
这里我们将深入探讨几种不同的方法来实现JS数组求和,包括经典的循环、迭代函数以及高级的数组方法。 1. **For循环**: 这是最基础的遍历数组的方法。通过设置一个初始值为0的变量`sum`,然后在循环中将每个数组...
js代码-数组求和多种方法
07-14
本主题将深入探讨几种不同的方法来实现数组元素的求和,以便于理解和应用到实际项目中。 1. **reduce方法** `reduce()`是JavaScript数组的一个内置方法,它可以对数组中的每个元素执行一个函数,将所有结果合并为...
JavaScript学习笔记之数组求和方法
11-28
推荐阅读:JavaScript学习笔记之数组的增...JavaScript中数组有很多种方法,下图能更好的向你阐述JavaScript有多少种方法,作用是啥: 简单点回顾一下前面学习的知识: push():向数组末尾添加一个或多个元素 unshift
Js数组求和
旺仔牛奶的博客
09-23 194
Js数组求和? console.log(‘数组的和是’+sum);
js数组求和
weixin_43565079的博客
09-14 141
//常规循环 function sum(arr) { var s = 0 for(var i=0; i<arr.length; i++){ s += arr[i] } return s } //不考虑算法复杂度,递归 function sum(arr){ var len = arr.length if(len == 0){ return 0; } else if (len == 1){ retu.
js 数组求和
chuwa5121的博客
03-08 279
function util(){ //将字段求和 this.sum = function (o, field) { if (o.constructor == Array) { if (field) { ...
JavaScript 数组求和的常用方法总结【5种方法
~~~
11-28 1567
数组求和
js求和
TheFoma的专栏
04-02 888
在input 中输入数字,输入方式以“,”分割,利用正则表达式找出来中的数字,利用split把找到的数字放到数组中,因为刚开始是String类型,在计算时需要转换类型,使用parsetInt转换为整型Int型。 放上js代码 var oInput = document.getElementsByTagName("input")[0]; var oBtn = document.getElemen
js数组求和方法
热门推荐
Fly的博客
12-25 4万+
js数组求和方法 var array = [1, 2, 3, 4, 5]; var sum = 0; 1.for循环 for (let i = 0; i &lt; array.length; i++) { sum += array[i]; } 2.forEach array.forEach(ele =&gt; { sum ...
js 求和
周家大小姐
09-02 368
// 求和 function sumUp(n) { // 如 100==>(100/2)==50*(10+1)==101 return (n / 2) * (n + 1) } console.log(sumUp(100)); //5050
JavaScript教程(五)JavaScript中数组及数组的方法
qq_43434300的博客
12-02 813
一.数组及数组的方法 1.数组的概念: 是值数据的集合,在JavaScript中数组中的数据类型可以是不同的. 2.数组的声明: (1)var 数组的名称=new Array(); (2)var 数组的名称=[]; 3.数组的初始化 (1)var 数组的名称=new Array(‘值1’,值2,‘值3’,…)//js 是一种弱类型的脚本语言索引可以存储不同的数据类型. (2)var 数组的名称=[...
js数组求和的所有方法
06-10
1. for 循环方式: ```javascript function sum(arr) { var result = 0; for (var i = 0; i < arr.length; i++) { result += arr[i]; } return result; } ``` 2. reduce() 方法: ```javascript function sum(arr) { return arr.reduce(function(prev, curr) { return prev + curr; }); } ``` 3. eval() 方法: ```javascript function sum(arr) { return eval(arr.join("+")); } ``` 4. apply() 方法: ```javascript function sum(arr) { return Array.prototype.reduce.apply(arr, [ function(prev, curr) { return prev + curr; } ]); } ``` 5. ES6 的 reduce() 方法: ```javascript const sum = arr => arr.reduce((prev, curr) => prev + curr, 0); ``` 6. ES6 的扩展运算符: ```javascript const sum = arr => [...arr].reduce((prev, curr) => prev + curr, 0); ``` 7. forEach() 方法: ```javascript function sum(arr) { var result = 0; arr.forEach(function(item) { result += item; }); return result; } ``` 8. map() 方法: ```javascript function sum(arr) { var result = 0; arr.map(function(item) { result += item; }); return result; } ``` 注意:eval() 方法有潜在的安全风险,建议不要使用。其他方法都是可行的,可以根据实际情况选择适合自己的方式。
写文章

热门文章

  • JS数组求和的几种方法 35605
  • 玩转网页倒计时 5787
  • 模拟快递单号查询案例(放大输入内容) 4447
  • 仿淘宝商品放大展示效果制作(放大镜效果) 1789
  • 浮动对正常文档流的影响(区分浮动和绝对定位的脱标) 1062

分类专栏

  • JavaScript 5篇
  • HTML + CSS 1篇

最新评论

  • 仿淘宝商品放大展示效果制作(放大镜效果)

    qq_48536080: 源码求

  • 模拟快递单号查询案例(放大输入内容)

    莫逸风: 文章你真棒!很好加油66思路清晰,学习了

  • 玩转网页倒计时

    莫逸风: 文章加油66很好思路清晰,你真棒!学习了

  • 仿淘宝商品放大展示效果制作(放大镜效果)

    莫逸风: 你真棒!加油学习了文章思路清晰,66很好

  • 玩转网页倒计时

    LYFlied: 感谢大佬的分享,点个赞,期待你的回访关注哦,一起学习呀

大家在看

  • 【Docker基础】Docker Desktop入门使用指南 573
  • 2181. 合并零之间的节点
  • 【有啥问啥】降低Attention计算量的Flash Attention到底做了什么? 834
  • 【Ambari自定义组件集成】Bigtop编译大数据组件,看这一篇就够了 1900
  • 这组可视化大屏,不能惊艳来描述,那是相当相当地惊艳。 448

最新文章

  • 详谈JavaScript中的继承问题
  • 仿淘宝商品放大展示效果制作(放大镜效果)
  • 玩转网页倒计时
2022年2篇
2021年4篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王廊坊优化网站建设网站设计和优化每年多少钱网站结构优化工作的重点在哪里百度网站优化网站自我优化设置官网网站优化手机版网站应该怎么优化广州模板网站优化沂水县网站优化东莞优化网站建设无锡网站搜索优化外包合同打印机怎么优化网站鹤壁郑州网站推广优化沁阳网站优化推广哪里的好湛江市网站seo优化平台孝感工厂网站优化公司排名黄平网站优化公司官方网站优化定制河北诚信服务企业网站优化长宁区官方网站优化哪家好启东市网站优化有哪些成都自动优化模板网站网站排名的优化张家港做网站优化价格如何优化成大型网站网站打开速度慢 优化如皋网站优化有用吗霸州网站关键词优化网站设计结构优化优化网站首页香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化