用于填充javascript关联数组的高效语法
我有一个自动完成文本框,用户可以在其中键入项目代码,并需要找出该项目代码在javascript中的id号 关联数组是我想象中应该采用的方法,但下面的内容似乎有点冗长,我希望有人有更好的方法来实现它,或者简写一下下面的内容:用于填充javascript关联数组的高效语法,javascript,arrays,associative-array,Javascript,Arrays,Associative Array,我有一个自动完成文本框,用户可以在其中键入项目代码,并需要找出该项目代码在javascript中的id号 关联数组是我想象中应该采用的方法,但下面的内容似乎有点冗长,我希望有人有更好的方法来实现它,或者简写一下下面的内容: var itemIds = new Array(); itemIds["item1"] = 15; itemIds["item2"] = 40; itemIds["item3"] = 72; ... function getItemId(code){ return
var itemIds = new Array();
itemIds["item1"] = 15;
itemIds["item2"] = 40;
itemIds["item3"] = 72;
...
function getItemId(code){
return itemIds[code];
}
尝试使用对象文字符号指定查找,如下所示:
var itemIds = {
"item1" : 15,
"item2" : 40
...
};
var item1Value = itemIds["item1"];
访问仍应按如下方式工作:
var itemIds = {
"item1" : 15,
"item2" : 40
...
};
var item1Value = itemIds["item1"];
您所做的不是数组,而是对象(JavaScript中的对象与PHP中的关联数组等效) 您可以使用JavaScript对象文字语法:
var itemIds = {
item1: 15,
item2: 40,
item3: 72
};
JavaScript对象成员可以通过点符号或数组下标访问,如下所示:
itemIds.item1;
itemIds['item1'];
如果您将成员名称作为字符串,则需要使用第二个选项。从技术上讲,JSON是使用JavaScript对象和数组文本进行数据交换-您显示的是对象文本。哦,我从名称中的“符号”位假设它定义了语法。就是这样!JSON是Douglas Crockford赋予数据格式的名称,采用JavaScript对象文本的语法。不过我能理解这种困惑!哇,这是一个非常好的答案,谢谢你提供了示例。没有必要将
itemIds
声明为Array
对象。毕竟,您只是在向对象添加属性。由于JavaScript对象可以看作是键值对的容器,所以任何JavaScript对象都可以。