在Javascript中向二维数组添加字符
我真的很难用Javascript填充我的二维数组 我有一个不同的数组,其中有很多字母,我想添加到我的“板”中,但即使是板似乎也不能正常工作。每当我尝试使用绘图板方法将纸板打印到网页上时,我都会得到字母A所在位置的NaN。其余部分显示数字0在Javascript中向二维数组添加字符,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我真的很难用Javascript填充我的二维数组 我有一个不同的数组,其中有很多字母,我想添加到我的“板”中,但即使是板似乎也不能正常工作。每当我尝试使用绘图板方法将纸板打印到网页上时,我都会得到字母A所在位置的NaN。其余部分显示数字0 var ROW = 10; var COLUMN = 10; var board = [['A', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0
var ROW = 10;
var COLUMN = 10;
var board = [['A', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]];
function drawBoard(board) {
var str = '';
for (var x = 0; x < ROW; x++){
str += '<div class="row">';
for (var y = 0; y < COLUMN; y++){
str += '<div class="column">' +
+ board[x][y] + '</div>' + '</div>';
}
str += '</div>';
}
$('#board').append(str);
}
$(function(){
drawBoard(board);
});
制作一个for循环,使其仅在board[x][y]=Letters.pop()上运行。然后在黑板上显示新字母
有没有比只运行两个for循环更好的方法将数组添加到二维数组中?
为什么我的黑板上显示的是NaN而不是字母。我尝试了许多不同的方法。来回答第一个问题。如果您查看代码:
str += '<div class="column">' +
+ board[x][y] + '</div>' + '</div>';
str+=''+
+电路板[x][y]+'''+'''';
添加板[x][y]
时,您可以看到您有一个++板[x][y]
,而不是+
。一元+
试图将线路板[x][y]
的值转换为一个数字,然后进行串联,得到NaN
错误(正如@Bergi指出的)
要将元素添加到数组的末尾,可以使用push()
方法(在本例中为board.push(字母)
)。这将把元素(可以是数组)放在数组的末尾
如果你想替换数组中的一行,你可以使用
board[x]=Letters
,虽然它实际上不是++
,但是一元+
操作你是对的。你说得对。我将更新答案。您可能真的使用了
元素-它们适用于此用例:-)
str += '<div class="column">' +
+ board[x][y] + '</div>' + '</div>';