Array.reduce
来源:互联网 发布:爱古兰中阿文软件下载 编辑:程序博客网 时间:2024/05/18 02:01
reduce() 方法对累加器和数组中的每个元素 (从左到右)应用一个函数,将其减少为单个值。
语法
arr.reduce(callback,[initialValue])
参数
callback:执行数组中每个值的函数,包含四个参数
- accumulator 上一次调用回调返回的值,或者是提供的初始(initialValue)
- currentValue 数组中正在处理的元素
- currentIndex 数据中正在处理的元素索引,如果提供了 initialValue ,从0开始;否则从1开始
- array 调用 reduce 的数组
initialValue:可选项,其值用于第一次调用 callback 的第一个参数。
返回值
函数累计处理的结果
描述
reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值 accumulator (或者上一次回调函数的返回值),当前元素值 currentValue ,当前索引 currentIndex ,调用 reduce 的数组。
回调函数第一次执行时,accumulator 和 currentValue 的取值有两种情况:调用 reduce 时提供initialValue,accumulator 取值为 initialValue ,currentValue 取数组中的第一个值;没有提供 initialValue ,accumulator 取数组中的第一个值,currentValue 取数组中的第二个值。
注意: 不提供 initialValue ,reduce 会从索引1的地方开始执行 callback 方法,跳过第一个索引。提供 initialValue ,从索引0开始。
如果数组为空并且没有提供initialValue, 会抛出TypeError 。如果数组仅有一个元素(无论位置如何)并且没有提供initialValue, 或者有提供initialValue但是数组为空,那么此唯一值将被返回并且callback不会被执行。
- 未指定initialValue
let sum = [1, 2, 3, 4].reduce(function(acc, val,index) { console.log("index = "+index+",currentValue = " + val+",accumulator = " + acc); return acc + val;});console.log(sum);
- 指定initialValue
let sum = [1, 2, 3, 4].reduce(function(acc, val,index) { console.log("index = "+index+",currentValue = " + val+",accumulator = " + acc); return acc + val;},10);console.log(sum);
0 0
- Array.reduce
- JavaScript Array "slice","reduce"
- javascript-reduce 方法 (Array)
- reduce 方法 (Array) (JavaScript)
- Array.prototype.reduce()
- js Array.prototype.reduce()
- Javascript Array Reduce 用法解读
- 【js】Array.prototype.reduce方法
- javascript---数组array方法reduce()
- JS Array ...map ,reduce , filter..
- JavaScript Array.prototype.reduce()理解
- js Array.prototype.reduce使用
- Array.reduce()方法的使用
- array之reduce/map/forEach/filter
- 【javascript】 array.reduce 菜鸟学习笔记
- ES5 中的Array.prototype.reduce( )方法
- javaScript--数组(Array)的reduce方法解析
- 减少你对Array.reduce()的恐惧!
- dll及其调用简介
- 关于前端 JS 能使用事件行为解决的直接使用事件行为,可以避免漏洞与BUG
- 我的java学习之路-oracle
- 前端常用的标签
- 米林(ljg)邮箱使用说明 Java邮件系统
- Array.reduce
- 【Java 5班JAVA阶段型考试】
- Vim编辑器常用基本命令
- 跟小博老师一起学习数据库 ——连接查询
- Ubuntu 16.04 解决虚拟机摄像头无法使用问题
- 图文内容在手机中显示,自动适应问题
- Python 代码放在函数中运行比放在全局中运行快
- 第七届蓝桥杯_方格填数_简单搜索
- error LNK1104: 无法打开文件“***.lib“