用于填充javascript关联数组的高效语法

用于填充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

我有一个自动完成文本框,用户可以在其中键入项目代码,并需要找出该项目代码在javascript中的id号

关联数组是我想象中应该采用的方法,但下面的内容似乎有点冗长,我希望有人有更好的方法来实现它,或者简写一下下面的内容:

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对象都可以。