Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中向二维数组添加字符_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

在Javascript中向二维数组添加字符

在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

我真的很难用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, 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>';