javascript - 如果数组总和为 0,如何实现逻辑,从 JavaScript 中的数组中删除?

标签 javascript arrays

我有如下所示的数组数组。

[["a",0,0,0],["b",30,20,10],["c",40,50,60],["d",0,0,0],...]  

如果每个数组内的数字总和为零,我想删除一些数组并得到以下返回。

[["b",30,20,10],["c",40,50,60],...]  

谁能告诉我如何在 JavaScript 中实现逻辑来实现这一点?

最佳答案

过滤数组的数组,通过遍历每个数组并使用reduce跟踪数组中数字的总和:

const input = [
  ["a", 0, 0, 0],
  ["b", 30, 20, 10],
  ["c", 40, 50, 60],
  ["d", 0, 0, 0],
  ['e', 30, -30]
];

console.log(
  input.filter((arr) => (
    arr.reduce((a, item) => (
      typeof item === 'number'
      ? a + item
      : a
    ), 0)
  ))
);

关于javascript - 如果数组总和为 0,如何实现逻辑,从 JavaScript 中的数组中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51576562/

相关文章:

javascript - 在前端存储 AWS 凭证

java - 将二维数组传输到文件并传回

c++ - 在cpp中对象初始化后设置数组的边界

C - strlen ("288_882_288"+strlen ("288_882_288")/2 = 6?

java - 如何从数组中删除空字符串

arrays - Matlab,在两个数组中找到公共(public)值

javascript - 如何让这个 HTML canvas 动画出现在我的图像之上?

javascript - 如何在 jQuery 中对特殊字符(>、<、%)进行编码

javascript - 创建新的待办事项代码生成错误

javascript - 如何返回与 Node.js 中的 URL 请求相对应的 XML 文件?