2014-04-09 86 views
2

我已經創建了一個多維數組對作業飼料如下所示:JavaScript的多三維Minkowski空間陣列

var jobs = [     
     ["JOB222" , "Painter"],     
     ["JOB333" , "Teacher"],     
     ["JOB444" , "Delivery Driver"],    
]; 

我可以使用索引號碼

alert(jobs[2][1]); // Alerts Delivery Driver 

訪問陣列如果我手動設定的基準數,我可以遍歷數組來查找匹配。

var viewingJobRef = "JOB333"; 
for (var i=0;i<jobs.length;i++) { 

    if (jobs[i][0] == viewingJobRef) { 
     alert(jobs[i][1]); // This will alert Teacher 
    } 

} 

所以我的問題是,是否有可能直接訪問數組而不使用循環?

var viewingJobRef = "JOB333"; 
alert(jobs[viewingJobRef][1]); // I want this to alert Teacher 

火狐錯誤控制檯說: 工作[viewingJobRef]未定義,我該怎麼辦呢?

+2

使用對象,而不是一個數組 – Gary

回答

10

您想使用對象:

var jobs = {     
     "JOB222" : "Painter",     
     "JOB333" : "Teacher",     
     "JOB444" : "Delivery Driver"    
}; 

訪問是這樣的:

var viewingJobRef = "JOB333"; 
alert(jobs[viewingJobRef]); 

OR

alert(jobs["JOB333"]); 

OR

alert(jobs.JOB333); 
+0

謝謝你,這個工程完美,我將使用對象而不是數組。 – Scott

+0

高興地幫助你!如果解決了您的問題,請不要忘記接受答案;) – ZarkDev

0

您可以使用對象:

var jobs = { 
    "JOB222": "Painter", 
    "JOB333": "Teacher", 
    "JOB444": "Delivery Driver" 
}; 

環帶:

for (var i in jobs) {...} 

或者直接訪問,如:

alert(jobs.JOB333);