我有这段代码:
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.'",';
}
?>
};
但我仍然提出这个问题以供将来参考,如果其他人觉得找到钥匙很重要。
答案 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_id
或echo '"'.$cd->department_name.'":"'.$cd->department_id.'",';
答案 2 :(得分:0)
如果您创建一个数组并使用json_encode()
将其转换为JSON并静态访问该JSON对象会更好,那么您可以调用尝试的方式,
例如deptDictionary["accounting"]
OR
您也可以使用
进行访问
deptDictionary[Object.keys(deptDictionary)[0]]
谢谢