2012-09-20 101 views
0

我試圖訪問一個簡單的嵌套數組,這樣做:Javascript數組索引錯誤

var currMenu = 1; 
    while (currMenu < menu.length) { 
     alert(currMenu); 
     alert(menu[0][currMenu].text); 
     currMenu++; 
} 

儘管警報扔正確的價值觀,我得到的螢火蟲此錯誤:類型錯誤:菜單[0] [currMenu]未定義。

發生了什麼事?

謝謝!

編輯:對不起,我衝過來,在這裏你有 「菜單」 的結構:

menu[0] = new Array(); 
menu[0][0] = new Menu(false, '', 15, 50, 20, '','' , 'navlink', 'navlink'); 
menu[0][1] = new Item('someText', '#', '', 100, 10, 1); 

和對象編號:

function Item(text, href, frame, length, spacing, target) { 
    this.text = text; 
    if (href == '#') { 
     this.href = '#'; 
    } else if (href.indexOf('http') == 0) { 
     this.href = href; 
    } else this.href = href; 
    this.frame = frame; 
    this.length = length; 
    this.spacing = spacing; 
    this.target = target; 
    // Reference to the object's style properties (set later). 
    this.ref = null; 
    this.showLoadingBar = false; 
} 
+0

現在我們對菜單值有什麼瞭解? –

+0

什麼是「菜單」? –

+0

確定你不是指菜單[currMenu] .text'? –

回答

3

假設你的菜單是一致的與[0][currMenu],你應該像這樣訪問它:

while (currMenu < menu[0].length) { 
    alert(currMenu); 
    alert(menu[0][currMenu].text); 
1

您正在查看「菜單「數組,但你是訪問該數組的第零索引處的數組(可能是也可能不是數組;我無法從你發佈的代碼中知道)。