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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DirectX Repair(DirectX修复工具)官方中文增强版V4.1.0.30770 | directx repair修复工具增强版下载[通俗易懂]

    DirectX Repair(DirectX修复工具)官方中文增强版V4.1.0.30770 | directx repair修复工具增强版下载[通俗易懂]directxrepair修复工具增强版是一款专业优秀效果确凿的系统级DirectX修复工具,专门针对并近乎完美的修复0xc000007b进不了系统以及0xc000007b蓝屏问题,采用傻瓜式一键设计,界面简洁大方,使用也非常简单,大家只需要点击主界面上的“检测并修复”按钮,directxrepair就会自动完成校验、当前系统DirectX状态检测、下载、修复以及注册的全部功能,若发现异常则会提醒大家进行修复,所以无需担心directxrepair怎么用的问题,威航软件园提供…

    2022年6月7日
    73
  • 二叉树的一些性质图解

    二叉树的一些性质图解树的介绍1.树的定义树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:(01)每个节点有零个或多个子节点;(02)没有父节点的节点称为根节点;(03)每一个非根节点有且只有一个父节点;(04)除了根节点外,每个子节点可以分为多个不相交的子树。 2.树的基本术语若…

    2022年5月20日
    38
  • Navicat 生成激活码失败_在线激活「建议收藏」

    (Navicat 生成激活码失败)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0U…

    2022年3月28日
    170
  • Java 读写文件工具类

    Java 读写文件工具类今天简单写了一下读写文件用的工具类,方便后面开发或者测试时直接使用。importlombok.Cleanup;importjava.io.*;importjava.util.ArrayList;importjava.util.List;publicclassFileUtils{//逐行读取文件内容返回内容列表publicstaticList<String>readLine(Stringpath){List<Str

    2022年7月14日
    25
  • Windows下nmap命令及Zenmap工具的使用方法「建议收藏」

    Windows下nmap命令及Zenmap工具的使用方法「建议收藏」#Nmap简介nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。正如大多数被用于网络安全的工具,nmap也是不少黑客爱用的工具。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。Nmap常被跟评估系统漏洞软件Nessus混为一谈。Nmap

    2022年5月26日
    204
  • linux查看定时任务的命令_linux添加定时任务执行脚本

    linux查看定时任务的命令_linux添加定时任务执行脚本linux查看定时任务

    2025年8月8日
    3

发表回复

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

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