Javascript 两个数字之间的代码相乘,错误地输出数字 函数显示倍数(num,numMultiples){ 对于(i=1;i

Javascript 两个数字之间的代码相乘,错误地输出数字 函数显示倍数(num,numMultiples){ 对于(i=1;i,javascript,Javascript,您将值赋给multiple,然后在循环结束时返回它,这意味着multiple将是2x8。如果您在var multiple=num+“x”+i+“+num*i;”下执行console.log(multiple)操作,您将看到它正确打印出来 编辑: 函数显示倍数(num,numMultiples){ var结果=[]; 对于(i=1;i您只有一条print语句,它在循环之外。如果您想打印多次,您需要将print语句放在循环内部,类似这样: function showMultiples(num, nu

您将值赋给
multiple
,然后在循环结束时返回它,这意味着multiple将是
2x8
。如果您在
var multiple=num+“x”+i+“+num*i;”下执行
console.log(multiple)
操作,您将看到它正确打印出来

编辑:

函数显示倍数(num,numMultiples){
var结果=[];

对于(i=1;i您只有一条print语句,它在循环之外。如果您想打印多次,您需要将print语句放在循环内部,类似这样:

function showMultiples(num, numMultiples){
var result = [];
for(i=1; i<=numMultiples; i++){
    result.push(num + " x " + i + " = " + num * i);
}

return result.join(' ');
} 
但是,这是一个糟糕的设计。您不应该将数据转换和I/O混为一谈。最好将两者分开,先完全构建数据,然后再打印:

function showMultiples(num, numMultiples) {
    console.log(`showMultiples(${num}, ${numMultiples}) returns:`);
    Array.from({length: numMultiples}, (v, k) => k + 1).
        forEach(i => console.log(`${num}×${i} = ${num * i}`));
}
showMultiples(2, 8)
// showMultiples(2, 8) returns:
// 2×1 = 2
// 2×2 = 4
// 2×3 = 6
// 2×4 = 8
// 2×5 = 10
// 2×6 = 12
// 2×7 = 14
// 2×8 = 16

这是一个更为惯用的ECMAScript。

控制台在输出2x1=2x2=2x2=4 2x3=6时会输出2x8=16,依此类推,直到达到numMultiplesoh为止。我不允许在函数中使用任何console.log语句。我只能返回感谢您的大力帮助!感谢您的.push and.join逻辑,我修复了一个错误我还收到了其他任务的通知!
function showMultiples(num, numMultiples) {
    console.log(`showMultiples(${num}, ${numMultiples}) returns:`);
    Array.from({length: numMultiples}, (v, k) => k + 1).
        forEach(i => console.log(`${num}×${i} = ${num * i}`));
}
showMultiples(2, 8)
// showMultiples(2, 8) returns:
// 2×1 = 2
// 2×2 = 4
// 2×3 = 6
// 2×4 = 8
// 2×5 = 10
// 2×6 = 12
// 2×7 = 14
// 2×8 = 16
function showMultiples(num, numMultiples) {
    return Array.from({length: numMultiples}, (v, k) => k + 1).
        map(i => `${num}×${i} = ${num * i}`).
        join(", ");
} 
console.log(`showMultiples(2, 8) returns: ${showMultiples(2, 8)}`);
// showMultiples(2, 8) returns: 2×1 = 2, 2×2 = 4, 2×3 = 6, 2×4 = 8, 2×5 = 10, 2×6 = 12, 2×7 = 14, 2×8 = 16