簡體   English   中英

在javascript中創建多維數組

[英]Creating a multidimensional array in javascript

我知道javascript不允許真正的多維數組,但你可以通過在數組中包含數組來“混淆”一個。

我有兩個問題;

1)將10個數組轉換成1個多維數組,其中有10個數組會改善,損壞或對網頁的性能沒有影響?

2)我希望創建一個包含100個元素的數組,每個元素都是2個元素的數組,最后每個元素都是一個不確定長度的數組。

我有以下代碼來創建這個“多維”數組:

var RouteArray = new Array(100);
for (var i=0; i <100; i++)
{
RouteArray[i]=new Array(2);
    for (var j=0; j <2; j++)
    {
    RouteArray[i][j] = new Array();
    }
}

這段代碼合情合理嗎? 或者您是否有經驗的編碼員能夠提出更好的方法?

此外,我假設我可以使用以下代碼添加到上述多維數組中的不確定數組:

RouteArray[88][0].push(ValueToPush);

最后我可以使用以下內容調用我剛剛推送的值嗎?

Var ValueAdded = RouteArray[88][0][0];

提前感謝您的時間,如果這個問題已在其他地方得到解答而道歉,我確實嘗試搜索,但要么無法理解之前的帖子,要么發現它們與我的情況不同,我無法應用他們的建議。

約翰

1)將10個數組轉換成1個多維數組,其中有10個數組會改善,損壞或對網頁的性能沒有影響?

幾乎可以肯定沒有性能影響,但它會對您理解代碼和減少錯誤的能力產生巨大影響。

2)我希望創建一個包含100個索引的數組,每個索引都將填充2個索引的數組,最后這兩個索引中的每一個都有一個不確定長度的數組。

這將與您的示例代碼輪廓完全相同,如果您想要讓自己的腳濕透,這是一個很好的起點。 在實踐中,具有多個維度的數組並不總是最好的數據結構來模擬您的代碼所使用的任何內容,主要是因為它們不是“可發現的”:您必須事先知道每個維度是什么。

很可能在任何一個特定場景中都有更好的方法來構建數據,但我們必須具體談論。 在任何情況下,您提供的代碼都可以使用。

需要考慮的事情: http//jsperf.com/arraynew

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM