2014-12-30 61 views
0

想創建數組是這樣的:jQuery的,使用Javascript:按二維數組

track[divID][wrapID] 

我不能用track[divID][wrapID] = wrapID

COS一些將被添加到第二維在另一個循環這樣的:track[divID][wrapID,wrapID2]

var track =[]; 
$("div").each(function() { 

         var wrapID = $(this).parent().attr('id') 
         var divID = $(this).attr('id') 

         track[divID].push(wrapID) 

                }); 

錯誤是「遺漏的類型錯誤:無法讀取屬性未定義的 '推'」

我做錯了什麼?非常感謝。

+1

由於[逗號運算符](https://developer.mozilla.org/en-US)的方式,FYI'track [divID] [wrapID,wrapID2]'只會計算爲跟蹤[divID] [wrapID2]/docs/Web/JavaScript/Reference/Operators/Comma_Operator)作品 –

回答

5

您尚未創建第二個維度的新數組:

track[divID] = []; 
track[divID].push(wrapID); 

否則track[divID]undefined,沒有push方法。

+1

我建議'track [divID] = track [divID] || []'以確保他不覆蓋現有陣列,因爲他表示他將增加更多。 –

+0

是的,正好!我需要保持二維數據。 –