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');
};
我对 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');
};