JavaScript多维数组

时间:2014-04-09 13:23:53

标签: javascript arrays

我为这样的作业Feed创建了一个多维数组:

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

Firefox错误控制台说: 作业[viewingJobRef]未定义,我该怎么做?

2 个答案:

答案 0 :(得分:10)

您想要使用对象:

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

像这样访问:

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

OR

alert( jobs["JOB333"] );

OR

alert( jobs.JOB333 );

答案 1 :(得分:0)

您可以使用对象:

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

循环:

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

或直接访问:

alert( jobs.JOB333 );