簡體   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