【问题标题】:map + reduce don't work as expected for 2d array in Javascript对于 Javascript 中的 2d 数组,map + reduce 不能按预期工作
【发布时间】:2019-01-03 00:12:49
【问题描述】:

我有一个二维整数数组,我正在尝试使用 map + reduce 在所有行中执行相同的操作。

例如,如果我有一个 3x3 数组

a = [[1,2,3],[4,5,6],[7,8,9]]

我正在尝试计算每一行的总和(预期结果是)[6,15,24]

然后我打算先用 reduce 将每一行归约为自己的总和:

[1,2,3].reduce((sum,each)=>each+sum,0)

然后将其重复(映射)到所有行中。

但是当我像下面这样组合地图和减少时

a.map(x=>{x.reduce((sum,each)=>{each+sum}),0})

实际上我得到的不是预期的结果[undefined,undefined,undefined]

不知道为什么会这样?

【问题讨论】:

  • a.map(x=>{x.reduce 你忘了返回缩减后的结果。
  • a.map(x => x.reduce((sum,each) => each + sum, 0)) <-- 去掉大括号。

标签: javascript arrays dictionary reduce


【解决方案1】:

这对我有用:

a.map(x=>x.reduce((sum,each)=>each+sum))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    • 2019-02-05
    相关资源
    最近更新 更多