JavaScript 多维数组

标签 javascript arrays

我已经为职位提要创建了一个多维数组,如下所示:

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 错误控制台说: jobs[viewingJobRef]未定义,我该怎么做?

最佳答案

你想使用对象:

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

这样访问:

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

alert( jobs["JOB333"] );

alert( jobs.JOB333 );

关于JavaScript 多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22963941/

相关文章:

javascript - 向 Javascript Fetch 响应对象添加一个新字段

javascript - JQuery/Javascript 淡入滚动不工作

linux - Bash-将两个数组变量加到第三个数组变量

python - 有效地从 np 数组中删除零

java - 将对象传递给链表中的下一个元素

javascript - 这段代码如何查找两个对象数组之间的差异?

javascript - 在 Javascript 中分解一个数字

javascript - 如何让我的脚本在 WordPress 中运行

Ruby - 如果乘以等于第三个数字,则查找数组中是否有任何两个数字

c# - 将类型定义为类型的超集