定义

reduce() 方法对数组种的每个元素执行一个由您提供的 reducer (升序执行),将其接口汇总为单个返回值。

语法

arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])

相关参数

  • callback 执行数组种每个值(如果没有提供 initialValue 则第一个值除外), 包含四个参数:

    • accumulator 累加器累计回调的返回值,是上一次调用回调时返回的累计值,或 initialValue
    • currentValue 数组中正在处理的元素。
    • index 可选,数据中正在处理的当前元素的索引。如果提供了 initialValue, 则起始索引值为 0,否则从索引 1 开始。
    • array 可选,调用 reduce()的数组。
  • initialValue 可选,作为第一次调用 callback 函数时的第一个参数的值。如果没有提供初始值,则将使用数组中的第一个元素,在没有初始值的空数组上调用 reduce将报错。

返回值

函数累计处理的结果。

注意

如果没有提供 initialValue, reduce会从索引值 1 的地方开始执行 callback 方法,跳过第一个索引。如果提供 initialValue, 从索引 0 开始。

Array.prototype.reduce用法相关推荐

  1. Array.prototype.reduce 的理解与实现

    Array.prototype.reduce 是 JavaScript 中比较实用的一个函数,但是很多人都没有使用过它,因为 reduce 能做的事情其实 forEach 或者 map 函数也能做,而 ...

  2. 理解Array.prototype.reduce()的执行过程

    之前对reduce()一直不理解,今天专门看了一遍MDN文档感觉明白了一些.在此记录一下自己的一些理解. Array.prototype.reduce()方法的作用: 对数组中的每个元素执行一次传入的 ...

  3. Array.prototype.slice Array.prototype.splice 用法阐述

    目的 对于这两个数组操作接口,由于不理解, 往往被误用, 或者不知道如何使用.本文尝试给出容易理解的阐述. 数组 什么是数组? 数组是一个基本的数据结构, 是一个在内存中依照线性方式组织元素的方式, ...

  4. Array.prototype.map() 、 Array.prototype.reduce()、Array.prototype.filter()

    文章目录 1. map 2. reduce 3. filter 1. map   map 函数接收一个回调函数作为参数,然后返回一个数组,这个数组中的每个元素都是调用回调函数后返回的结果.如: fun ...

  5. 数组的方法之(Array.prototype.reduce() 方法)

    reduce函数 reduce() 方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值. 对数组中的所有元素调用指定的回调函数.该回调函数的返回值为累积结果,并且此返回值在下一次 ...

  6. 【JavaScript笔记 · 基础篇(五)】Array全家桶(引用数据类型中的数组 / Array对象 / Array.prototype)

    文章目录 一. 引用数据类型中的数组 1.1 概述 1.2 初始化 1.2.1 字面量 1.2.2 构造函数模式 1.3 访问 1.4 length属性 1.5 数组遍历 1.6 类数组对象 1.6. ...

  7. Array.prototype.slice.call(arguments)

    Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组,除了IE下的节点集合(因为ie下的dom对象是以com对象的形式实现的,js对象与co ...

  8. php copy array,ES6中Array.copyWithin()函数用法的详解

    ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去.下面重点给大家介绍ES6中Array.copyWithin()函数的用法,需要的 ...

  9. 【ES7(2016)】Array.prototype.includes()

    在 ES7 之前想判断数组中是否包含一个元素,基本可以这样写: let array1 = [1,2,3,4,5] console.log(array1.find(function(item) {ret ...

最新文章

  1. Android 图片黑白显示 自定义饱和度
  2. 地球那么大的开放世界游戏怎么做?腾讯云高级架构师为开发者设计了一套方案
  3. 女人15个秘密武器疼爱男人(女人必看)
  4. JS高级学习笔记(6)- 事件循环
  5. duri oracle 连接字符串_C#连接Oracle数据库的连接字符串
  6. 列表(添加、修改、查、删除)
  7. 调试信息清除小工具的编写
  8. 高通camera结构(转)
  9. 从零开始进行Adadelta的梯度下降
  10. java screenframe_一个关于JFrame的问题
  11. 纯Vue实现网页日常任务清单小功能(数据存储在浏览器)
  12. Java icetea_java – OpenJDK 8的IcedTea插件
  13. 360极速浏览器安装chrome插件教程
  14. excel单元格内容拆分_Excel | 单元格内容换行方法
  15. 加州房价篇 (三) : 模型的训练,评估和房价的预测
  16. Java用户注册手机短信验证码校验功能实现
  17. 如何用PDF编辑器更改和隐藏PDF批注
  18. 欢迎大家多踩踩偶的个人博客噶 哇哈哈
  19. ps还原上一步快捷键,ps还原上一步快捷键_photoshop恢复上一步操作的快捷键是什么...
  20. in语句作用C语言,C语言中IN(ch,OP)是什么意思

热门文章

  1. 15位身份证号的校验
  2. org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nes
  3. css中div边框外发光
  4. 迅雷下载出错.候选文件均为24.4 MB (25,642,153 字节)
  5. 朴槿惠访华期间说的两句话
  6. 网传大众收购华为自动驾驶业务的背后:早有合作渊源,欲与特斯拉“硬刚”?...
  7. 论文阅读:RAFT: Recurrent All-Pairs Field Transforms for Optical Flow
  8. 2019第二届北京国际无人值守零售展览会【官宣】
  9. “外卖佣金”的博弈:两种思维方式的较量
  10. 蓝牙耳机哪个牌子音质好?盘点音质好的国产蓝牙耳机品牌