我为这样的作业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]未定义,我该怎么做?
答案 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 );