我有一个字符串在js中被转换成了一个二维数组。
board = "...|.X.|...|"
它用于表示游戏棋盘。
每个.代表一个空格。
每个|代表一行。
每个X代表一堵墙。
EDIT: 下面是创建二维数组的代码
var src= "...|.X.|...|";
board = src.split(/\|/g);
for (var i = 0; i < board.length; i++) {
var cells = board[i].split('');
for (var j = 0; j < cells.length; j++) {
cells[j] = parseInt(cells[j]);
}
board[i][j] = cells;
console.log(board[1][1])
//returns 'X'
当我访问board [i] [j]时,它返回正确的结果:
[0] [0] = "."
[1] [1] = "X"
[1] [2] = "."
等等。
我想用表示一个棋子的字符串更新特定的元素。 然而,当我这样插入一个元素时:
board [0] [0] = "piece4"
该数组在firebug中返回如下:
board = "piece4 |. X。| ... |"
当它应该看起来像:
board =“。piece4 |. X。| ... |”
为什么[0] [1]和[0] [2]元素被覆盖?我是否没有正确理解js中的数组索引访问?
a = 1;
,然后又执行了a = 2
,你不会期望 a 的值变成 3,那么在数组中为什么会有不同的期望呢? - T I