2017-02-04 5 views
0

여기 node.js의 생명수 콘웨이 게임용 보드로 사용할 2 차원 배열을 만들기위한 코드입니다. 보드를 표시하는 데 문제가 있습니다. 결과는 다음과 같습니다. node js 격자로 2 차원 배열을 표시합니다.

['-','-','-'] 
['-','-','-'] 
['-','-','-'] 

그러나 나는이 지금 코드입니다이

--- 
--- 
--- 

처럼 보이게합니다. 누구든지 어떤 제안이 있습니까?

var createBoard = (width, height) => { 
    board = []; 
    row = []; 
    for (var i = 0; i < width; i++) { 
     for (var j = 0; j < height; j++) { 
      row.push("-"); 
     } 
     board.push(row); 
     row =[]; 
    } 
    return (board); 
} 

var displayBoard = (board) =>{ 
    for (var i = 0; i < board.length; i++) { 
     console.log(board[i]); 
    } 
} 

gameBoard = createBoard(3,3); 
displayBoard(gameBoard); 

답변

1

join 문자열을 구성하려면 배열의 요소가 필요합니다.

var createBoard = (width, height) => { 
 
    board = []; 
 
    row = []; 
 
    for (var i = 0; i < width; i++) { 
 
     for (var j = 0; j < height; j++) { 
 
      row.push("-"); 
 
     } 
 
     board.push(row); 
 
     row = []; 
 
    } 
 
    return (board); 
 
} 
 

 
var displayBoard = (board) => { 
 
    for (var i = 0; i < board.length; i++) { 
 
     console.log(board[i].join("")); 
 
    } 
 
} 
 

 
gameBoard = createBoard(3, 3); 
 
displayBoard(gameBoard);

+0

덕분에 완벽하게 작동했습니다 :) – charlie2104

0

문제를 해결하려면 배열을 반복하고 다음과 같이 문자열에 추가한다 :이이처럼 인쇄해야

var displayBoard = (board) =>{ 
    var buffer = ''; 
    for (var i = 0; i < board.length; i++) { 
     for (var x = 0; x < board[i].length; x++) { 
     buffer += board[i][x]; 
     } 
     buffer += '\n'; 
    } 
    console.log(buffer); 
} 

:

--- 
--- 
---