0

As you can see below, I'm trying to add characters in 2-dimensional array. But I'm not able to store it. Can anyone help me with that?
Thanks in advance.

let gameBoard = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

console.log(" ", + gameBoard[0][0] + " |", + gameBoard[0][1] + " | " + gameBoard[0][2]);
console.log(" ", + gameBoard[1][0] + " |", + gameBoard[1][1] + " | " + gameBoard[1][2]);
console.log(" ", + gameBoard[2][0] + " |", + gameBoard[2][1] + " | " + gameBoard[2][2]);

gameBoard[1][1] = "a";

console.log(" ", + gameBoard[0][0] + " |", + gameBoard[0][1] + " | " + gameBoard[0][2]);
console.log(" ", + gameBoard[1][0] + " |", + gameBoard[1][1] + " | " + gameBoard[1][2]);
console.log(" ", + gameBoard[2][0] + " |", + gameBoard[2][1] + " | " + gameBoard[2][2]);
mr.Hritik
  • 577
  • 3
  • 19
  • 2
    Don't use `+` if you use `,` or viceversa – Simone Rossaini Jun 16 '23 at 09:20
  • 4
    [Related](https://stackoverflow.com/a/44362860/1377002). Use [a template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) instead: ``console.log(` ${gameBoard[1][0]} | ${gameBoard[1][1]} | ${gameBoard[1][2]} `);``. – Andy Jun 16 '23 at 09:24
  • No issue in assigning characters. Try `console.log(gameBoard.map(g => g.join(' | ')).join('\n'))` – User863 Jun 16 '23 at 10:09

1 Answers1

3

Your main issue is not how you set the variable. Your main issue is your console log statement. You can verify this by simply using console.log(gameBoard).

console.log(" ", + gameBoard[1][0] + " |", + gameBoard[1][1] + " | " + gameBoard[0][2]);
// Using both  ^ ^                 ^     ^ ^                 ^       ^

This means that the part that says + gameBoard[1][1] is seen as 0 + gameBoard[1][1] or 0 + "a" which is not a number (NaN, as your code says).

You're mixing multiple arguments to the console.log function (,) with the concatenation operator (+). Use one of them instead of both:

console.log(" " + gameBoard[0][0] + " |" + gameBoard[0][1] + " | " + gameBoard[0][2]);
// Use +        ^                 ^      ^                 ^       ^

console.log(" ", gameBoard[0][0], " |", gameBoard[0][1], " | ", gameBoard[0][2]);
// Use ,       ^                ^     ^                ^      ^

console.log(` ${gameBoard[0][0]} |${gameBoard[0][1]} | ${gameBoard[0][2]}`);
// Use `    ^                                                            ^
h2ooooooo
  • 39,111
  • 8
  • 68
  • 102