Jquery访问索引关联数组

时间:2013-11-18 03:27:23

标签: jquery

我有这段代码:

  var deptDictionary={
           <?php foreach($dept as $cd){
            echo '"'.$cd->department_id.'":"'.$cd->department_name.'",';
            }
           ?>
  }; 

其中包括:

'Object {1: "ACCOUNTING", 5: "HUMAN RESOURCES", 6: "DEVELOPERS", 15: "ENGINEERING", 23: "ASDASD", 26: "QWEQWE"} '

现在,我想通过输入它指向的数据来找到ACCOUNTING的索引。

[如果index是assoc数组的第一部分,那么那个部分叫什么呢?]

我试过这个:

console.log(deptDictionary["accounting"]);

但它返回undefined。我错过了什么吗?是否有任何指向js assoc数组的阅读材料?

修改 的 好。我已经改变了密钥和数据,以满足我的需求。现在它看起来像这样:

  var deptDictionary={
           <?php foreach($dept as $cd){
            echo '"'.$cd->department_name.'":"'.$cd->department_id.'",';
            }
           ?>
  }; 

但我仍然提出这个问题以供将来参考,如果其他人觉得找到钥匙很重要。

3 个答案:

答案 0 :(得分:2)

试试这个:http://jsfiddle.net/agconti/j5sX2/; (以下代码)

// this doesnt work
var dict = {1: "ACCOUNTING", 5: "HUMAN RESOURCES", 6: "DEVELOPERS"};
alert(dict[1]);
alert(dict["ACCOUNTING"]);

//but this will
var dict = {"ACCOUNTING": 1, "HUMAN RESOURCES":5};
alert(dict[1]);
alert(dict["ACCOUNTING"]);

答案 1 :(得分:0)

请记住它的区分大小写。 如果你的输出是

'Object {1: "ACCOUNTING", 5: "HUMAN RESOURCES", 6: "DEVELOPERS", 15: "ENGINEERING", 23: "ASDASD", 26: "QWEQWE"} '

然后你应该使用

console.log(deptDictionary["ACCOUNTING"]);

请核实你的钥匙是什么? department_name

中的department_idecho '"'.$cd->department_name.'":"'.$cd->department_id.'",';

答案 2 :(得分:0)

如果您创建一个数组并使用json_encode()将其转换为JSON并静态访问该JSON对象会更好,那么您可以调用尝试的方式,

例如deptDictionary["accounting"]

OR

您也可以使用
进行访问 deptDictionary[Object.keys(deptDictionary)[0]]

谢谢