gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 15:27:16 25 4
gpt4 key购买 nike

我目前正在为平台游戏制作图 block map 。

我知道在其他语言中,当您引用二维数组时,速度会更快:

world[y][x]

但是,在 JavaScript 中,这重要吗?你能做到吗:

world[x][y]

感谢您的宝贵时间。

最佳答案

首先,Arrays in JavaScript are just specialized objects 。所以当你有 var a = ["entry"]然后去a[0] ,您正在访问 a 的属性存储为"0" 。由于所有属性都转换为 JavaScript 的字符串,这意味着 a[0] === a["0"] 。与 C++ 等语言不同,创建 double 组时,您必须转到 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;
}

然后很快!现在,您可以去world[x][y]获取存储在这些位置的对象。正如更多信息一样,占位符用于使数组实际上具有 Y 的长度。也是如此。

<小时/>

现在,让我们回到数组只是一个特殊对象这一事实。这意味着我们正在访问对象 world 的属性然后再次在该位置存储的条目中。其中,speed of access受到属性选择存储方式的限制(正如 @zerms 在评论中指出的那样)。

关于Javascript:使用二维数组的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33589892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com