reduce实现数组求和_js数组reduce

reduce实现数组求和_js数组reducereducereduce收敛4个参数,返回的是叠加后的结果,原数组不发生变化,回调函数返回的结果//从左向右//prev代表前一项,cur代表当前项【求和】letarr=[1,3,5,8,9,7];letsum=arr.reduce(function(prev,cur,index,arr){ //return100;//本次的返回值…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

  1. reduce

reduce 收敛 4个参数,返回的是叠加后的结果, 原数组不发生变化,回调函数返回的结果
//从左向右
//prev 代表前一项,cur 代表当前项

【求和】

  let arr =[1,3,5,8,9,7];
    let sum  = arr.reduce(function(prev,cur,index,arr){
    	//return 100;//本次的返回值 会作为下一次的prev
    	return prev+cur;//本次的返回值 会作为下一次的prev
    });
    console.log(sum);

还可以这样

var arr1 = [{price:50,count:8},{price:50,count:6},{price:45,count:9}];

let totalSum = arr1.reduce(function(prev,cur,index,arr){
	return prev.price*prev.count+cur.price*cur.count;
})
console.log("总价格是:",totalSum);//会返回NAN

因为第一次会返回一个数,将作为下一次的prev,就没有price 和 count属性了
解决办法

let totalSum1 = arr1.reduce(function(prev,cur,index,arr){
	return prev+cur.count*cur.price;
},0);//默认指定第一次的prev
console.log("总价格是:",totalSum1);

【求和乘】

let arr2 = [1,2,3];
let res = arr2.reduce(function(prev,cur,index,arr){
	//return Math.pow(prev,cur);//幂运算
	return prev**cur;//也可以写成这样
})
console.log(res);

幂运算

Math.pow 等价于 **

【将一个二维数组变为一维数组】

let arr3 = [[1,2,3],[4,5,6],[7,8,9]];
let newArr = arr3.reduce(function(prev,cur){
	return prev.concat(cur);
})
console.log("一维数组为:",newArr);
  1. reduceRight()//从右向左
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188780.html原文链接:https://javaforall.net

(0)
上一篇 2026年4月15日 下午4:55
下一篇 2026年4月15日 下午5:01


相关推荐

  • O2O网站

    O2O网站

    2021年10月14日
    47
  • 漏洞挖掘——实验11 侧信道攻击+TCP/IP实验

    漏洞挖掘——实验11 侧信道攻击+TCP/IP实验题目Lab侧信道攻击+TCP/IP实验Pre1、用IE访问某些网站的时候,输入javascript:alert(document.cookie)会有什么反应,解释原因。2、阅读下面两篇文章或者阅读一本书<<JavaScriptDOM编程艺术>>:JavascriptTutorialhttps://www.evl.uic.edu/luc/bv…

    2022年7月15日
    20
  • jsp页面刷新方法

    jsp页面刷新方法jsp 页面处理完数据自动刷新 window location reload jsp 页面处理完数据自动刷新并返回上二级界面 top Dialog close 原文地址 https blog csdn net liuweidong article details Javascript 刷新页面的几种方法 1 history go 0

    2026年3月17日
    2
  • 微信不能登录网页版(微信手机网页登录)

     因为出于工作和学习的目的,我的个人电脑操作系统使用的是Ubuntu18.04LTS,就目前而言,许多优秀的软件都有Linux版本,虽然Linux的用户相对群体较小,但是其软件生态也在逐渐成长,而且日常使用浏览器就可以解决许多的应用需求。现在微信和QQ在生活和工作领域均是举足轻重,emm…  BUT!!!腾讯到目前为止并没有推出Linux版的微信和TI…

    2022年4月12日
    63
  • Eclipse安装教程 ——最详细安装java

    Eclipse安装教程——史上最详细安装java&amp;python教程说明(Win7_64位+Eclipse64位+JDK_8u131_64位+python2.7.8+PyDev5.7.0插件)适用操作系统:Win764位所需要的软件以及插件:Eclipse64位、JDK_8u131_64位、python2.7.8、PyDev5.7.0插件第一次发这么长的博客,若有…

    2022年4月6日
    61
  • java中string和int互相转化

    java中string和int互相转化1 如何将字串 String 转换成整数 int A 有两个方法 1 inti Integer parseInt String 或 i Integer parseInt String intradix 2 inti Integer valueOf my str intValue 注 字串转成 Double Float Lo

    2026年3月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号