reduce的用法

  • reduce的介绍
  • reduce的基本用法

reduce的介绍

1.reduce和迭代方法(map、fliter、forEach)一样,会遍历数组;reduce()方法会遍历数组中的每一个元素,每遍历一次就会执行一次回调函数。当遍历完之后会将最后的结果返回出去。

2.reduce( )方法有两个参数,第一个参数是累加函数,第二个是函数的previousValue的初始值。

reduce的基本用法

列表的求和:

    const arr=[1,2,3,4,5]const newarr=arr.reduce((previousValue,current)=>{ console.log(previousValue+'-----'+current);//结果为://1-----2//3-----3//6-----4//10-----5return previousValue + current // 求和运用});console.log(newarr); //输出 15

列表的求积:

const arr=[1,2,3,4,5]
const newarr2=arr.reduce(function(previousValue,current){console.log(previousValue+'-----'+current)//结果为://1-----2//2-----3//6-----4//24-----5return previousValue * current // // 求积运用});console.log(newarr2); //输出 120

上面的代码累加函数都是从列表的第一位开始的
我们可以设置累加函数的默认值,例如:

    const arr=[1,2,3,4,5]const newarr=arr.reduce((previousValue,current)=>{ console.log(previousValue+'-----'+current);//结果为://2-----1//3-----2//5-----3//8-----4//12-----5return previousValue + current // 求和运用},2);console.log(newarr); //输出 17

reduce计算数组中元素出现的次数

let arr1 = ['name','age','long','short','long','name','name'] // 计算数组中元素出现的次数let arrResult = arr1.reduce((pre,cur) =>{if(cur in pre){pre[cur]++ //这里的意思是如果pre里面有这个属性就加一}else{pre[cur] = 1  // 这里意思是往pre对象中如果没有这个属性,就把这个属性赋值为1}return pre},{});console.log(arrResult) //输出{name: 3, age: 1, long: 2, short: 1}

js中的reduce的用法相关推荐

  1. html dom createevent,js 中 document.createEvent的用法

    js 中 document.createEvent的用法 更新时间:2010年08月29日 23:22:02   作者: 用该方法创建了 Event 对象以后,必须用上表中所示的初始化方法初始化对象. ...

  2. js 中 document.createEvent的用法-转载

    js 中 document.createEvent的用法 <a class="comment-mod" οnclick="alert('ss')" hre ...

  3. 前端开发:JS中截取字符串的用法总结

    前言 在前端开发过程中,对JS相关的字符串处理可谓是家常便饭,对字符串对处理也是前端开发过程中使用频率非常高的知识点之一,对从后台获取到的字符串进行二次处理也是非常普遍的需求,那么本文就来分享一下在前 ...

  4. js中“||”和“”的高级用法 js,与或运算符 || 妙用

    网络上找到的一篇关于逻辑与和逻辑或的文章,详细记录一下. http://www.jb51.net/article/21339.htm 例1:用于赋值 &&:从左往右依次判断,当当前值为 ...

  5. js中的extend的用法及其JS中substring与substr的区别

    1.    JS中substring与substr的区别 之前在项目中用到substring方法,因为C#中也有字符串的截取方法Substring方法,当时也没有多想就误以为这两种方法的使用时一样的. ...

  6. js中的escape的用法汇总

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...

  7. js中call()方法的用法

    call: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方法可以用来代替另一 ...

  8. js中replace作用以及用法

    replace作用以及用法 1. 作用:替换字符串中的内容 2. 用法:str.replace(regexp|substr, newSubStr|function) 3. 参数说明:- regexp( ...

  9. js中call与apply用法

    来源:http://blog.csdn.net/sunboy_2050/article/details/6592082 前天去面试,有个gg问了一些js知识,其中有一道call与apply用法的题目, ...

最新文章

  1. IBM收购数据库安全公司 围剿Oracle之心不死
  2. Azure 中国篇之网络服务—(2)Azure虚拟机使用公网ip(PIP)
  3. 搭建一个舒心高效的windows + shell 工作环境
  4. CVS update常用技巧
  5. 拓端tecdat|R语言中编写最小工作示例(MWRE)
  6. unity算法面试_Unity面试准备
  7. Java开发自行车管理项目要求_java毕业设计_springboot框架的公共自行车租赁管理...
  8. python语言实现医院管理系统
  9. rplidar的安装与使用
  10. EasyReport报表工具
  11. 四级,六级报名网站很卡怎么办?
  12. 微信支付服务器请求错误,windows系统下微信支付调用出错 msxml3.dll
  13. 2021-04-26 PNP三极管
  14. 统计学之三大相关性系数简介(pearson、spearman、kendall)
  15. 严格对角占优矩阵特征值_严格对角占优M-矩阵特征值的界
  16. 中学生计算机编程大赛有哪些,学了编程可以参加哪些含金量高的比赛?
  17. Android HashTable
  18. JAVA梅森旋转随机算法,你没听过的梅森旋转算法
  19. Android 自定义加载Dialog 运行效果流畅
  20. 中兴c300业务板_中兴C300 GTGO ETGO GTGOE GTGOG OLT业务板 EPON GPON

热门文章

  1. 使用Hutool插入图片到Excel
  2. 促进商品流通 加强区域合作 第二十七届郑交会将促消费进行到底
  3. 国王的金币(c++)
  4. 二进制原码、反码、补码及符号位进位
  5. 直播程序源码,视频直播APP开发技术
  6. 研究蛋白和DNA的相互作用—EMSA(凝胶迁移或电泳迁移率实验),可用于DAP-seq后续验证
  7. 简明Python教程(A Byte of Python中文版)
  8. window10 微软小娜搜索不到内容
  9. 机器学习之最全知识图谱
  10. turtlebot深度相机_Turtlebot入门-测试Kinect