处理一个codecademy教程,我应该像这样打印出表格的“单元格”(数组中的数组)
Cell Cell Cell
每个单元格之间有两个空格。我假设结果(对于第一个“行”)看起来像
Person Age City
“行”的末尾不应有空格。
我在下面编写了灾难性的 for 循环,试图遵循 codecademy 的说明(复制如下),但无法使其正常工作。谁能帮帮我...
var table = [
["Person", "Age", "City"],
["Sue", 22, "San Francisco"],
["Joe", 45, "Halifax"]
];
for (var r in table) { ////// I wrote this for statement
var c;
var cells = table[r];
var rowText = "";
for(c = 0; c < cells; c++){
rowText += table[r][c];
if(c < cells - 1){ //only adds the space if not at end of line
rowText += " ";
}
}
console.log(rowText);
}
Codecademy.com 的说明
我们想添加另一个 for 循环和一些格式化代码,以便我们可以按以下格式打印出三行中的每一行:
细胞细胞细胞
每个单元格值之间应该有两个空格,但不能在行尾。每行应该在单独的行上。
练习提示中有深入的说明。
删除 for 循环主体中的 console.log 语句。在 for 循环体中,定义一个变量 c。还要定义一个名为 cells 的变量并将其设置为等于当前行的长度(可以使用 table[r] 找到)。定义一个名为 rowText 的空字符串变量。确保将 rowText 设置为“”。在步骤 2 中的变量之后立即定义另一个 for 循环。
在第一个循环参数中,将 c 设置为 0。在第二个循环参数中,确保循环在 c 比单元格小一后停止。在第三个循环参数中,递增 c。在第 3 步的循环体中,将当前单元格(可以使用 table[r][c] 找到)附加到 rowText。如果 c 不是该行中最后一个单元格的位置(当 c 小于单元格 - 1 时为真),则使用 if 语句还将两个空格字符(这是“”)附加到 rowText第 3 步,但在上一个练习的循环体内部,使用 console.log 打印 rowText。