javascript - 我希望在我的 javascript 数组上使用 reduce 方法

标签 javascript arrays

我有一个总数组,其中包含其他值数组。 我希望在 forEach 和 reduce() 的帮助下添加嵌套值

// My main array
Total = [
  [ 1, 0, 1, 0 ],
  [ 0, 1, 0, 0 ],
  [ 1, 0, 0, 1 ],
  [ 0, 0, 1, 0 ],
  [ 0, 1, 0, 0 ],
  [ 1, 0, 0, 0 ],
  [ 0, 0, 0, 0 ],
  [ 0, 0, 0, 0 ] ]

// The code I have

  Total.forEach(function(element) {
    element.reduce(function(a,b) {
        console.log(a+b)
    }, 0)
})

// Output not as expected!
    1
NaNNaNNaN0 NaNNaNNaN1 NaNNaNNaN0 NaNNaNNaN0 NaNNaNNaN1 []

我想要的是,例如,第一个 forEach 应该给出 1+0+1+0 = 2... 之和,依此类推

最佳答案

尝试这种方法,使用 map嵌套 reduce :

const Total = [
    [1, 0, 1, 0],
    [0, 1, 0, 0],
    [1, 0, 0, 1],
    [0, 0, 1, 0],
    [0, 1, 0, 0],
    [1, 0, 0, 0],
    [0, 0, 0, 0],
    [0, 0, 0, 0]
];

let res = Total.map(x => x.reduce((res, curr) => res += curr, 0));
console.log(res);

关于javascript - 我希望在我的 javascript 数组上使用 reduce 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54056083/

相关文章:

Javascript 正则表达式困难

javascript - 从一组 jQuery 元素中选择个体

javascript - 在被调用函数中重新初始化数组

arrays - 如何在 Swift 中将数据从 NSArray 传输到 String?

javascript - 重新排列和删除容器内的元素

javascript - 如何在angular js中获取窗口高度

javascript - 尝试按列实现切换排序。如果我参数化 sortUsers 函数,我会得到 "Maximum call stack size exceeded."

javascript - 为什么使用 "new"创建 Javascript 数组被认为是错误的?

javascript - 如何将 javascript 重定向加载到 android webview 中?

cArray[][] 指针数组转换