二维数组的所有元素的总和

时间:2020-06-22 12:13:59

标签: javascript arrays

我正在尝试解决jshero.net的挑战。挑战是:

写一个函数sum,计算出a的所有元素之和 二维数组。 sum([[1,2],[3]])应该返回6。 为此,我需要使用嵌套循环。我能想到的最好的解决方案是:

function sum(num){
let mySum= [num.length]
var sum = 0;
for (var i = 0; i > mySum; i++) {
  for (var j = 0; j > mySum; j++) {
    sum =mySum[[i]+[j]];
  }
}
}

但是当我运行代码时,出现以下错误:

sum([[1]])不返回1,但未定义。

测试错误!更正错误,然后重新运行测试!

你们有解决这个问题的想法吗?

2 个答案:

答案 0 :(得分:1)

我认为该函数应如下所示:

function sum(arr) {
  let sum = 0;
  for (let i = 0; i < arr.length; i++) {
    for (let j = 0; j < arr[i].length; j++) {
      sum += arr[i][j];
    }
  }
  return sum;
}

答案 1 :(得分:0)

arr=[[1,2,3,4],5,6,[7,8],9]
var sum=0;
for(var d1 of arr)
  if(d1.length) // undefined if not array||number
    for(var d2 of d1)
      sum+=d2;
  else
    sum+=d1;
// 45