所以我的目标是在控制台中打印一个乘法表。此代码段有效,但仅在我尝试将其放入函数中之前有效。
我在循环末尾用一个return替换了console.log(见下文),然后它只给了我3行输出。我希望这很清楚,这是我第一次发布。
const multiplicationTable = function(maxValue) {
for (let i = 0; i < 0; i++){
// This is shown to verify which value is the one on the
multiplication table with each line
//console.log(""+i);
// then it clears the variable tableLine with each new line
let tableLine = "";
for (let j = 1; j <= maxValue; j++) {
// It will add the results to a string each time
tableLine += ""+(i*j)+" ";
} return tableLine; //and display each line in the console
}
}
console.log(multiplicationTable(1));
console.log(multiplicationTable(5));
console.log(multiplicationTable(10));
//1
//
//1 2 3 4 5
//2 4 6 8 10
//3 6 9 12 15
//4 8 12 16 20
//5 10 15 20 25
//
//1 2 3 4 5 6 7 8 9 10
//2 4 6 8 10 12 14 16 18 20
//3 6 9 12 15 18 21 24 27 30
//4 8 12 16 20 24 28 32 36 40
//5 10 15 20 25 30 35 40 45 50
//6 12 18 24 30 36 42 48 54 60
//7 14 21 28 35 42 49 56 63 70
//8 16 24 32 40 48 56 64 72 80
//9 18 27 36 45 54 63 72 81 90
//10 20 30 40 50 60 70 80 90 100
答案 0 :(得分:1)
当您在函数中使用return
时,它将立即退出该函数,并且不会继续进行其余处理。
您需要做的是拥有另一个常量(例如table
)来存储您的tableLine
。在处理结束时,您返回table
值。
我已经修改了您的代码,您可以在下面看到它作为参考。 您将能够获得与预期相同的输出。
function multiplicationTable(maxValue) {
let table = "";
for (let i = 1; i <= maxValue; i++) {
let tableLine = "";
for (let j = 1; j <= maxValue; j++) {
tableLine += ""+(i*j)+" ";
}
tableLine += "\n";
table += tableLine;
}
return table;
}