我需要用javascript做一个字典,如下所示
我不记得确切的符号了,但大概是这样的:
states_dictionary={ CT=[alex,harry], AK=[liza,alex], TX=[fred, harry] ........ }
javascript中有这样的东西吗?
发布于 2012-08-03 13:19:27
这是一个古老的帖子,但我想我应该提供一个有插图的答案。
使用javascript的对象表示法。如下所示:
states_dictionary={
"CT":["alex","harry"],
"AK":["liza","alex"],
"TX":["fred", "harry"]
};
并访问这些值:
states_dictionary.AK[0] //which is liza
或者,您可以使用javascript文字对象表示法,这样键就不需要用引号括起来:
states_dictionary={
CT:["alex","harry"],
AK:["liza","alex"],
TX:["fred", "harry"]
};
发布于 2010-08-25 01:26:38
直到2015年( ECMAScript 6的发布),Javascript中才出现真正的关联数组。从那时起,您可以使用Map对象作为Robocat状态。Look up the details in MDN。示例:
let map = new Map();
map.set('key', {'value1', 'value2'});
let values = map.get('key');
如果不支持ES6,您可以尝试使用对象:
var x = new Object();
x["Key"] = "Value";
但是,对于对象,不可能使用典型的数组属性或array.length之类的方法。至少可以在for- in -loop中访问“对象数组”。
发布于 2015-10-07 21:38:13
我知道这是一个古老的问题,但是当你搜索“javascript字典”时,它会在谷歌中弹出,所以我想在上面的回答中补充一下,在ECMAScript 6中引入了官方的Map
对象,这是一个字典实现:
var dict = new Map();
dict.set("foo", "bar");
//returns "bar"
dict.get("foo");
与javascript的普通对象不同,它允许任何对象作为键:
var foo = {};
var bar = {};
var dict = new Map();
dict.set(foo, "Foo");
dict.set(bar, "Bar");
//returns "Bar"
dict.get(bar);
//returns "Foo"
dict.get(foo);
//returns undefined, as {} !== foo and {} !== bar
dict.get({});
https://stackoverflow.com/questions/3559070
复制相似问题