JavaScript .join() 没有去掉循环多维数组中的逗号?

JavaScript .join() doesn't get rid of commas in a looped multidimensional array?

我对 JavaScript 和编码比较陌生,我一直在尝试通过两个 for 循环将字符串推入空的多维数组,并将输出数组转换为字符串。我的想法是将字符串添加到数组中,直到满足行长和列长。 push() 工作正常,但不知何故 join.('') 并没有摆脱内部数组中的逗号。这是我的代码(我正在 codecademy 中构建一个项目,输出在 bash 中):

var rowlength = 3;
var collength = 3;

function attempt() {
  let randomarray = [];
  let i;
  let j;
  for(j = 0; j < rowlength; j++) {
    randomarray.push([]);
    for(i = 0; i < collength; i++) {
      randomarray[j].push('x');
    }
  }
    return randomarray.join('' + '\n');
};

console.log(attempt());  

输出:

x,x,x
x,x,x
x,x,x

我想要的输出:

xxx
xxx
xxx

有人可以向我解释我做错了什么吗?我试过将 join('') 移到别处,但输出保持不变,并且 google 到目前为止什么都没给我...

你没有加入内部阵列,一旦你这样做了,最后你就可以按照你已经在做的方式加入。在第一个循环中创建一个临时数组,然后将连接的数组推送到您的主 randomarray。现在您将拥有一个包含正确行内容的数组。

像这样更新您的 attempt 功能:

function attempt() {
  let randomarray = [];
  let i;
  let j;
  for(let j = 0; j < rowlength; j++) {
    let innerArray = [];
    for(let i = 0; i < collength; i++) {
      innerArray.push('x');
    }
    randomarray.push(innerArray.join(''))
  }
    return randomarray.join('' + '\n');
};