Javascript 2d矩阵

时间:2014-06-02 17:09:18

标签: javascript

在我的代码中,我需要一个等同于

的对象
(0,0)   (20,0)   (40,0) ...    (580,0)
(0,20)  (20,20)  (40,20) ...   (580,20)
.
.
.
(0,580) (20,580) (40,580) .... (580,580) 

这些对应于我正在进行的游戏的网格上的(x,y)坐标。 Javascript是否对此有简单的抽象?我没有发现这个How can I create a two dimensional array in JavaScript?答案令人满意。我想要一个30x30的二维数组,我可以访问arr[0][1] = [0,20]等元素。

2 个答案:

答案 0 :(得分:0)

2d矩阵是一个数组数组。您可以使用嵌套循环创建它。

var array2d = [];
for (var i = 0; i <= 580; i += 20) {
    var subarray = [];
    for (var j = 0; j <= 580; j += 20) {
        subarray.push([i, j]);
    }
    array2d.push(subarray);
}

答案 1 :(得分:0)

这已经太晚了一年,但你可以做到以下几点:

    var array = [];
    var xIncrease = 20;
    var yIncrease = 20;

    for (var y = 0; y < 30; y++)
    {
        array[y] = [];
        for (var x = 0; x < 30; x++)
        {
            array[y][x] = "(" + x * xIncrease + ", " + y * yIncrease + ")";
        }
    }