【发布时间】:2011-07-22 23:52:42
【问题描述】:
在 Python 中,我可以执行 myMap = {key: [value1, value2]} 之类的操作,然后使用 myMap[key][1] 访问 value2
我可以在 JavaScript 中做这样的事情吗?
【问题讨论】:
标签: javascript associative-array
在 Python 中,我可以执行 myMap = {key: [value1, value2]} 之类的操作,然后使用 myMap[key][1] 访问 value2
我可以在 JavaScript 中做这样的事情吗?
【问题讨论】:
标签: javascript associative-array
好吧,你可以这样做:
var myMap = { key: [ value1, value2 ] };
var array = myMap.key; // or myMap["key"]
JavaScript 没有“关联数组”类型,它结合了“映射”行为和数组行为,例如跟踪属性的数量。因此,常见的做法是使用普通对象。在现代 JavaScript(2017 年)中,有一个明确的 Map 设施,它允许键是任何类型,而不仅仅是使用简单对象时的字符串。
JavaScript 对对象字面量表示法有点傻,因为它不允许你使用保留字作为键,除非你引用它们:
var myMap = { 'function': 'hello world' };
引号语法允许将任何字符串用作属性名称。要访问此类属性,您可以使用 [ ] 运算符
console.log(myMap["function"]); // "hello world"
【讨论】:
确实如此。
var myMap = {london: ['clapham', 'chelsea'], bristol:['clifton', 'redland']}
alert(myMap.london[0]);
alert(myMap['bristol'][1]);
在jsFiddle上查看此示例
【讨论】:
是的,语法也差不多。
var myMap = {key: ["value1", "value2"]};
alert(myMap["key"][1]); // Pops up an alert with the word "value2"
您还可以使用以下符号:
myMap.key[1]
【讨论】:
简短的回答...是的...
var m = { Foo : ["Bar", "Baz"] };
alert(m.Foo[0]);
alert(m["Foo"][1]);
【讨论】:
你可以使用地图:
var myMap = new Map();
myMap.set('key','Value');
var res = myMap.get('key');
console.log(var); // Result is: 'Value'
【讨论】: