繁体   English   中英

Javascript:使用二维数组的最有效方法

[英]Javascript: Most Efficient Way To Use 2 Dimensional Arrays

我目前正在为平台游戏制作图块地图。

我知道用其他语言,当您引用二维数组时,这样做会更快:

world[y][x]

但是,在javascript中,这有关系吗? 你可以做:

world[x][y]

谢谢你的时间。

首先, JavaScript中的数组只是专门的对象 所以,当你有var a = ["entry"]然后去a[0]您要访问的属性a存储为"0" 由于所有属性都已转换为JavaScript的字符串,因此这意味着a[0] === a["0"] 与在创建双darray[y][x]数组时使用C ++之类的语言不同,由于创建内存的方式,您必须使用darray[y][x] ,使用JavaScript我们可以将对象分配给该位置(因为它只是另一个属性),使得我们可以解释我们想要的方式!

var world = [], // Start out with something empty.
    X = Y = 10; // Get dims.
// Fill that sucker up!
for(var i = 0; i < X; ++i)
{
    var x = [];
    for(var j = 0; j < Y; ++j)
    {
        // Forces a place holder in the array.
        x[j] = undefined;
    }
    world[i] = x;
}

和presto! 现在,您可以转到world[x][y]以获取存储在这些位置的对象。 与更多信息一样,占位符也用于使数组实际上也具有Y的长度。


现在,让我们回到一个事实,即数组只是一个专门的对象。 这意味着我们要访问对象world的属性,然后再次访问该位置存储的条目。 其中, 访问速度受选择存储属性的方式的限制(如@zerms在注释中指出)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM