1、reduce()和reduceRight()方法使用指定的函数将数组元素进行组合,生成单个值。
reduce()可以传入两个参数,第一个是执行化简操作的函数。同样这个函数可以有参数,第一个参数代表之前所有元素的累积结果,第二个参数代表当前进行运算的元素,第三个参数代表当前运算参数的索引值。第四个参数代表调用方法的原数组。
第二个参数是可选的,是一个传递给函数的初始值。如果第二个参数有值,那么作为运算的初始值参与函数运算,如果第二个参数没有值,那么数组中的首位将作为函数运算的初始值,参与函数运算的数组其他位向后平移一位。
reduceRight()和reduce()使用方法一致,但是reduceRight()进行函数运算从右到左。传参形式均一致。
 
举例使用:1,实现累加,传入初始值
展示结果:以10作为初始值参与累加运算。当前参与运算的数组元素从索引值位0开始,
 
2、实现数组累加,不传入初始值
展示结果:实现数组中元素每一位的累加,将数组首位作为初始值参与函数运算 ,同时开始参与运算的数组元素顺势向后顺延一位,索引值从1开始。
 
扩展:封装一个自己的reduce()方法
 
小练习:获得当前时间并将其转换成字符串形式,个位数用零补齐。例如8点45分零五秒转化成084505。

数组之reduce()和reduceRight()的更多相关文章

  1. JavaScript数组方法--reduce、reduceRIght、reverse

    今天写的reduce是比较复杂的一个数组方法,其实在这之前我也用过reduce,可是每次用起来总感觉不那么顺手,主要还是因为不熟,对reduce本身不熟.首先reduce这个单词翻译为中文,不那么直观 ...

  2. JavaScript学习笔记:数组reduce()和reduceRight()方法

    很多时候需要累加数组项的得到一个值(比如说求和).如果你碰到一个类似的问题,你想到的方法是什么呢?会不会和我一样,想到的就是使用for或while循环,对数组进行迭代,依次将他们的值加起来.比如: v ...

  3. JavaScript高级编程——Array数组迭代(every()、filter()、foreach()、map()、some(),归并(reduce() 和reduceRight() ))

    JavaScript高级编程——Array数组迭代(every().filter().foreach().map().some(),归并(reduce() 和reduceRight() )) < ...

  4. JavaScript归并方法reduce()和reduceRight()

    ECMAScript 5还新增了两个归并数组的方法:reduce()和reduceRight().这两个方法都会迭代数组的所有项,然后构建一个最终返回的值.其中,reduce()方法从数组的第一项开始 ...

  5. 几个关于js数组方法reduce的经典片段

    以下是个人在工作中收藏总结的一些关于javascript数组方法reduce的相关代码片段,后续遇到其他使用这个函数的场景,将会陆续添加,这里作为备忘. javascript数组那么多方法,为什么我要 ...

  6. ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)

    目录 forEach every some map filter reduce && reduceRight indexOf lastIndexOf 前言 ES6原生语法中提供了非常多 ...

  7. 数组归一 reduce (数组归一) reduceRight(从右至左)

    var addTwoNumbers = function(l1, l2) { var e = l1 .reverse() .map((v, index, array) => v * Math.p ...

  8. JavaScript - reduce方法,reduceRight方法 (Array)

    JavaScript - reduce方法 (Array) 解释:reduce() 方法接收一个函数作为累加器(accumulator),数组 中的每个值(从左到右)开始合并,最终为一个值. 语法:a ...

  9. ES6之reduce和reduceRight方法应用实例

    for循环是最基本的遍历循环,但是有些时候并不是很实用,且效率和性能较低,故本文列举出工作学习中碰到的reduce方法应用实例,供自己揣摩熟练应用,以提高自己的研发水平和研发效率. reduce方法( ...

随机推荐

  1. UITouch笔记

    UITouch是什么 表示在在屏幕上触摸事件,包括触摸的位置.大小.力度(3D touch).运动. 在一系列触摸事件中,UITouch都是同一个,但是不要retain某一个UITouch.如果要保存 ...

  2. UIControl笔记

    UIControl继承自UIView UIControl与Target-Action模式 使用addTarget:action:forControlEvents方法来设置某一个controlEvent ...

  3. python(unittest)报告导出(一):使用HTMLTestRunner导出

    (前提:HTMLTestRunner.py放在python安装目录的Lib文件夹下) 一般将HTMLTestRunner.py文件放入需要引用的目录下,但这个太过于局限,仅对当前项目有用,所以可以将H ...

  4. css实现渐变

    .gradient{ background: -webkit-gradient(linear, 0 0, 0 100%, from(#8ca0d3), to(#375a9a)); /** Chrome ...

  5. nginx(四)-负载均衡

    负载均衡,我认为是nginx最重要的功能了.那什么是负载均衡呢. 比如有一个服务,它访问量很大,一台机器吃不消了,怎么办,我们准备两台.分一部分的请求出来.现在有两台服务器提供这个服务.我们访问其中一 ...

  6. python使用easyinstall安装xlrd、xlwt、pandas等功能模块的方法

    在日常工作中,使用Python时经常要引入一些集成好的第三方功能模块,如读写excel的xlrd和xlwt模块,以及数据分析常用的pandas模块等. 原生的python并不含这些模块,在使用这些功能 ...

  7. List<Type> 随机

    public List<T> GetRandomList<T>(List<T> inputList){ //Copy to a array T[] copyArra ...

  8. python计算π及进度条显示

    今天老师布置了一个课后作业,去尽可能的准确计算π的值,还要显示时间和进度条,对于python小白的我,当然是综合书上和网上的知识,自己做了一个小程序,代码如下: 一.写代码的准备工作:用pip下载第三 ...

  9. UNIX SHELL基础知识总结(一)

    1. Unix常目录结构与作用: 2.  基本命令: $echo $date $who $who am i 3.  创建文件的几种方式: A. touch FileName 创建空文件 B. > ...

  10. docker编排工具,docker-compose下载与安装

    安装很简单,但是难免会遇到问题:1.安装curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compos ...