es6 中的reduce

语法: 

arr.reduce(callback,[initialValue])

 参数:

callback:

执行数组中的每个值得回调函数其包含四个参数:

     accumulator:

           这是一个累加参数,上一次调用的累积值,如果指定intiaValue则其初始值为0,否则其初始值为数组的第一个元素的值。

let arr = [1,3,5,8];
        arr.reduce((pre,value)=> {
          // console.log(pre); //第一次输出为1
          pre = pre+value;
          console.log(pre); //4, 9, 17
          return pre
        })

      指定initiaValue时

let arr = [1,3,5,8];
        arr.reduce((pre,value)=> {
          console.log(pre) //第一次输出为0
          pre = pre+value;
          console.log(pre); //1,4, 9, 17
          return pre
        },0)

    第二个参数是currentValue

        即数组当前处理的值

     currentIndex|可选:

        数组中正在处理的当前元素的索引。 如果提供了initialValue,则索引号为0,否则索引为1。

     array|可选

         调用reduce()的数组

initialValue|可选:

这是回调函数之后的参数操作见代码二;   作为第一次调用 callback函数时的第一个参数的值。 如果没有提供初始值,则将使用数组中的第一个元素。 在没有初始值的空数组上调用 reduce 将报错。

 

reduce的返回值是累积处理的结果

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES6 reduce() 方法是用于数组的方法,它可以通过迭代数组的每个元素来生成单个值。字典是 JavaScript 的一种数据结构,它通过键值对的形式存储数据。ES6 字典指的是使用 ES6 语法创建的字典对象。 ES6 字典并没有自带的 reduce() 方法,因为 reduce() 方法是数组的方法,不适用于字典。但是我们可以通过一些其他的方法来实现对字典的 reduce 操作。 一种办法是使用 Object.entries() 将字典转化为一个键值对的数组,然后再使用 reduce() 方法进行迭代。示例代码如下: ```javascript const dictionary = { a: 1, b: 2, c: 3 }; const result = Object.entries(dictionary).reduce((accumulator, [key, value]) => { return accumulator + value; }, 0); console.log(result); // 输出结果为 6 ``` 在这个示例,首先使用 Object.entries() 方法将字典转化为一个数组,数组的每个元素都是一个包含键和值的数组。然后使用 reduce() 方法对这个数组进行迭代,将每个值累加到累加器。 另外一种方法是使用 Object.keys() 获取字典的键数组,然后通过遍历键来获取对应的值,并进行 reduce 操作。示例代码如下: ```javascript const dictionary = { a: 1, b: 2, c: 3 }; const result = Object.keys(dictionary).reduce((accumulator, key) => { return accumulator + dictionary[key]; }, 0); console.log(result); // 输出结果为 6 ``` 在这个示例,首先使用 Object.keys() 方法获取字典的键数组,然后使用 reduce() 方法对键数组进行迭代,通过键获取对应的值,并将其累加到累加器。 总之,尽管 ES6 字典本身没有 reduce() 方法,但我们可以通过 Object.entries() 或 Object.keys() 方法将字典转化为可以进行 reduce 操作的数组,从而实现对字典的 reduce 操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值