2016-07-14 36 views
-1

我有权访问此练习的答案,但我无法弄清楚为什么下面的代码不起作用。任务是在控制台上打印交替的“#”和空格的棋盘,并包含一个大小变量以增加或减少棋盘的大小。为什么这段代码不这样做?介绍性的JavaScript棋盘打印程序给我的问题

size = 8; 

for (height = 0; height < size; height++) { 
    width = 0; 
    board = "" 
    while (width < size) { 
    board += ((height + width) % 2 === 0 ? "#":" "); 
    width++; 
    } board += "/n" 
}; 

console.log(board); 
+2

换行符='\ N'。你有斜杠翻转。 –

回答

0

有你实现两个问题:

  1. 您使用 “/ N”,而应该使用 “\ n” 表示换行。
  2. 您在每次迭代中将board变量重置为空白字符串。所以,最后你的变量中只有一行国际象棋行。您需要在for循环外取该变量。

size = 8; 
 
    
 
    var board = "" 
 
    for (height = 0; height < size; height++) { 
 
     width = 0; 
 
     while (width < size) { 
 
     board += ((height + width) % 2 === 0 ? "#":" "); 
 
     width++; 
 
     } board += "\n" 
 
    }; 
 
    
 
    console.log(board);

0

您遇到几个问题在这里:

换行符= '/ N'

此外,您在每次迭代清除板。移动board = ""外循环:

size = 8; 
board = ""; 
for (height = 0; height < size/2; height++) { 
    width = 0; 
    while (width < size) { 
    board += ((height + width) % 2 === 0 ? "#":" "); 
    width++; 
    } 
    board += "\n"; 
}; 

https://jsfiddle.net/rgn9573g/2/