美文网首页
JS reduce函数

JS reduce函数

作者: 冯正_566c | 来源:发表于2019-09-25 21:36 被阅读0次

定义和用法

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

array.reduce(function(prev, cur, currentIndex, arr), initialValue)
:param function(prev, cur, index, arr) 必需。用于执行每个数组元素的函数。
函数参数:
    prev:   必需。初始值, 或者计算结束后的返回值。
    cur:  必需。当前元素
    currentIndex:  可选。当前元素的索引
    arr:  可选。当前元素所属的数组对象。
:param initialValue: 可选。传递给函数的初始值

注意:没有第二个参数的时候prev初始值默认为数组的第一项,此时循环从数组的第二项开始,有第二个参数的时候prev为第二个参数值,此时循环从数组的第一项开始。

常见应用:

1. 求和:
const arr = [15, 19, 10, 14, 26, 8];
const total = arr.reduce((prev, cur) => {
    return prev + cur
})
console.log(total)//数组的和
2. 求平均
const arr = [15, 19, 10, 14, 26, 8];
const avg= arr.reduce((prev, cur, index, array) => {
     prev += cur
     if( index === array.length-1) { 
        return prev/array.length;
      }else { 
        return prev;
      } 
})
3. 求元素出现的次数
const arr = ['banana', 'cherry', 'orange', 'apple', 'cherry', 'orange', 'apple', 'banana', 'cherry', 'orange', 'fig' ];
const total = arr.reduce((prev, cur) => {
    prev[cur] = (prev[cur] || 0) + 1
    return prev
}, {})
4. 将二维数组转换为一维数组
const data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
const flat = data.reduce((prev, cur) => {
    return prev.concat(cur)
}, [])
5. 求数组最大值
const num = [1, 2, 3, 5, 5, 1]
const max_num = num.reduce((prev, cur) => {
    return Math.max(prev, cur)
})

相关文章

  • reduce函数的用法

    这是一个考察面试者对reduce函数用途的js面试题。下面我们看一下reduce函数的函数介绍: reduce()...

  • JS reduce函数

    定义和用法 reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 ...

  • reduce()函数用法简单分析

    菜鸟教程-reduce直通车JS函数在线编辑直通车 用法 reduce() 方法接收一个函数作为累加器,数组中的每...

  • 高阶组件

    高阶函数:接受一个或多个函数并返回一个函数 JS中,array的map、filter、reduce等方法就是高阶函...

  • Hadoop权威指南学习笔记

    1.关于MapReduce: map函数: reduce函数: combiner(合并函数):在reduce函数处...

  • for in ,for of, reduce

    for in ,for of, reduce 高级函数 filter map reduce filter 回调函数...

  • JS中的reduce()函数

    首先看下语法如下image 2 . 写了个demo如下 打印的结构如下image 总结 就是遍历数组元素,从头开始...

  • JS 函数map、filter、reduce

    我开始以一种截然不同的方式体会痛苦的时刻,我不会感觉沮丧或投不过去,而是把痛苦视为大自然的提醒,告诉我有一些重要的...

  • 2019-01-24记录

    计算函数被执行次数 ---- javascript reduce()函数的用法(): reduce函数可 接受一个...

  • rn sagas 同时调用多个API

    api.js reduce.js sagas.js

网友评论

      本文标题:JS reduce函数

      本文链接:https://www.haomeiwen.com/subject/hzniyctx.html