首页 > 其他分享 >JS累加器

JS累加器

时间:2023-11-30 16:07:25浏览次数:41  
标签:const 累加器 sum reduce JS totalAmount total

假设您的数组如下:

JavaScript Code复制内容到剪贴板

  1. const array = [  
  2.   { totalAmount: 100 },  
  3.   { totalAmount: 200 },  
  4.   { totalAmount: 300 },  
  5.   { totalAmount: 150 }  
  6. ];  

 

您可以使用 Array.reduce() 方法对每组 totalAmount 进行累加,并返回总和:

JavaScript Code复制内容到剪贴板

  1. const total = array.reduce((accumulator, currentValue) => {  
  2.   return accumulator + currentValue.totalAmount;  
  3. }, 0);  

  4. console.log(total); // 输出 750  

 

上述代码中,我们调用了 array.reduce() 方法以便遍历数组、累加每组 totalAmount 并返回最终总和,初始值(即累加器)设置为 0。

在回调函数中,累加器(即总和)初始化为 0,然后在每次迭代中将当前组的 totalAmount 值加入累加器中,并将新的累加器值返回给下一个迭代。

最终,reduce() 方法返回的累加器就是所有 totalAmount 值相加的总和。

 


 

上述,也可以简写:

JavaScript Code复制内容到剪贴板

  1. const arr = [  
  2.   { totalAmount: 100 },  
  3.   { totalAmount: 200 },  
  4.   { totalAmount: 300 }  
  5. ];  

  6. const total = arr.reduce((sum, item) => sum + item.totalAmount, 0);  

  7. console.log(total); // 输出 600  

 

这里使用 reduce() 方法,传入了一个回调函数。该回调函数接收两个参数:一个累加器 sum 和当前数组元素 item。在回调函数中,每次将累加器 sum 加上当前元素的 totalAmount 字段,最后返回总和。

第二个参数 0 表示累加器的初始值为 0。如果数组为空,reduce() 方法将直接返回初始值。 

标签:const,累加器,sum,reduce,JS,totalAmount,total
From: https://blog.51cto.com/u_16173094/8630560

相关文章

  • Win7系统安装高版本node.js方法,node 16.x ,node 17.x(跳过安不了17),node 18.x,node 19.x 2
    随着前端框架的不断升级,node16.3.0的版本远远跟不上开发需要,导致win7无法安装高于16.3.0版本的node.js,经过不断的尝试和查找网上的帖子,终于解决了可以升级到19.x的nodejs了方法如下:(1)按照原来方式先升级到Nodejs16.3.0,先看我上次发的内容。地址:https://www.cnblogs.com/wuzexin/p......
  • E8重写已有JS事件
    window.onload=function(){overwriteSubmit(function(){//验证成功返回truealert("12312312");returntrue;//验证失败返回false});};/***重写保存事件。*/varoverwriteSubmit=function(onSubmit){vardoSave_nNewOld=doSave_nNew;d......
  • List或JSONArray倒叙
    CollUtil.reverse() static<T> List<T>reverse(List<T> list)反序给定List,会在原List基础上直接修改static<T> List<T>reverseNew(List<T> list)反序给定List,会创建一个新的List,原List数据不变......
  • JS实现点击复制
    JS实现点击复制<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-equiv="......
  • 谷歌Chrome浏览器排查js内存溢出
    1.打开谷歌浏览器检查台2.点击memory3.点击开始快照录制,时隔一会儿录一次,多录几次 4.进行快照对比 ......
  • 自学 --day9---js中的数学操作和时间日期
    typora-copy-images-to:media一、数学处理1、Math常用API圆周率Math.PI//3.1415926535生成随机数Math.random()生成的是0~1之间的随机小数,通常在实际项目中需要获取到一个范围内的随机整数,利用这个随机小数封装一个获取范围内的随机整数的函数:functiongetRando......
  • uniapp使用微信jssdk自定义分享
    前言提示:本文记录的是使用uniapp开发的H5+APP项目,H5端使用微信自定义分享功能,文中有关APP的兼容,如果不需要兼容APP的可以忽略一、引入首先安装jweixin-module包npminstalljweixin-module--save二、封装工具方法为了方便使用,新建一个wechat.js文件://#ifdefH5impo......
  • js精度丢失的问题,利用lodash函数库重新封装
    functionroundAndPad(num,decimalPlaces){  varrounded=_.round(num,decimalPlaces); //使用Lodash的_.round函数四舍五入  varstr=rounded.toString();  vardecimalIndex=str.indexOf('.');  console.log("str:",str);  console.lo......
  • 常用JS工具函数-判断视频的时长
    ......
  • url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介
    引子浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encodeURI()等等。关于浏览器参数操作,请看文章javascript浏览器参数的操作,js获取浏览器参数 ,今天主要讲讲escape(),encodeURI(),enco......