前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js中数组Array.reduce方法介绍及使用场景

js中数组Array.reduce方法介绍及使用场景

原创
作者头像
yooooo
修改2020-08-11 11:13:44
2.2K0
修改2020-08-11 11:13:44
举报

1 作用

reduce()?方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。这样说可能不好理解,下面来看下语法以及如何使用

2 语法

arr.reduce((accumulator, currentValue, index, array)=>{ } , init)

第一个参数是一个回调函数 有四个参数

accumulator 表示上一次调用回调时的返回值,或者初始值 init 最后成为最终的单个结果值

currentValue 表示当前正在处理的数组元素

index? 表示当前正在处理的数组元素的索引,若提供?init?值,则索引为0,否则索引为1

array 表示调用reduce()的数组

第二个参数

init 作为第一次调用 callback函数时的第一个参数的值。?如果没有提供初始值,则将使用数组中的第一个元素。如果没传递初始值数组就会从索引1开始 有初始值就从0开始 callback 的第一个参数就是初始值?在没有初始值的空数组上调用 reduce 将报错。

解析各个参数

(1) 不传init初始值时 下面的代码 没有传递init初始值 currentIndex 索引默认从1 开始

(2)传递init初始值时 各个参数的打印情况

3 使用场景

介绍完基本的使用后 现在下面是使用场景 从易到难

(1) 求数组项之和

(2) 求数组最大值

(3) 数组去重

(4) 求字符串中字母出现的次数

(5) 二维数组降维

(6) 多维数组降维

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 作用
    • reduce()?方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。这样说可能不好理解,下面来看下语法以及如何使用
    • 2 语法
      • arr.reduce((accumulator, currentValue, index, array)=>{ } , init)
        • 第一个参数是一个回调函数 有四个参数
          • accumulator 表示上一次调用回调时的返回值,或者初始值 init 最后成为最终的单个结果值
          • currentValue 表示当前正在处理的数组元素
          • index? 表示当前正在处理的数组元素的索引,若提供?init?值,则索引为0,否则索引为1
          • array 表示调用reduce()的数组
        • 第二个参数
          • init 作为第一次调用 callback函数时的第一个参数的值。?如果没有提供初始值,则将使用数组中的第一个元素。如果没传递初始值数组就会从索引1开始 有初始值就从0开始 callback 的第一个参数就是初始值?在没有初始值的空数组上调用 reduce 将报错。
        • 解析各个参数
          • (1) 不传init初始值时 下面的代码 没有传递init初始值 currentIndex 索引默认从1 开始
          • (2)传递init初始值时 各个参数的打印情况
          • 介绍完基本的使用后 现在下面是使用场景 从易到难
      • 3 使用场景
        • (1) 求数组项之和
          • (2) 求数组最大值
            • (3) 数组去重
              • (4) 求字符串中字母出现的次数
                • (5) 二维数组降维
                  • (6) 多维数组降维
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                  http://www.vxiaotou.com