[英]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.