如何才能水平而不是垂直记录结果?

问题描述 投票:0回答:2

你们好,美丽的程序员! 今天我一直在做一个名为“棋盘”的小测验,但遇到了一个奇怪的情况。 但我的代码是垂直输出结果,但我需要水平输出结果,这样我就可以重复这个过程几次,用它制作一块板。这是我的代码:

let value = 8;

for (i = 1; i <= value ; i++) {
  if ( i % 2 == 0 ) {
    let x = i;
    console.log(x);
  } else {
    let y = " ";
    console.log(y);
  }
}

上面的代码输出

2

4

6

8

我怎样才能让这些结果像这样水平显示:

2  4  6  8

这样我以后就可以在新的一行中重复这个过程? 我已经思考这个问题有一段时间了,但是……我可能太笨了,无法弄清楚这一点?

我想我必须在这个函数中再次嵌套这个 if 函数才能实现这一点,但不知道如何...... 预先感谢!

javascript for-loop nested
2个回答
3
投票

在代码开头添加一个空字符串,将结果附加到其中,并将其记录到控制台,如下所示:

var output = '';
let value = 8;

for (i = 1; i <= value ; i++) {
  if (i % 2 == 0) {
    output += i;
  }
  
  output += ' ';
}

console.log(output);

1
投票

console.log 将始终在控制台中显示在新行上。我会将每个结果添加到一个数组中,然后将数组转换为字符串。然后控制台记录一次。

let value = 8;

// create empty array
const results = [];

for (let i = 1; i <= value; i++) {
  if ( i % 2 == 0 ) {
    let x = i;
    // rather than console logging, add to empty array
    results.push(x);
  } else {
    let y = " ";
    results.push(y);
  }
}

// convert array to string, seperated by spaces
const str = results.join(" ");
console.log(str)

© www.soinside.com 2019 - 2024. All rights reserved.