在Python中我可以做类似myMap = {key: [value1, value2]}
,然后访问value2
使用myMap[key][1]
JavaScript的关联数组
我可以做在JavaScript这样的事情?
在Python中我可以做类似myMap = {key: [value1, value2]}
,然后访问value2
使用myMap[key][1]
JavaScript的关联数组
我可以做在JavaScript这样的事情?
嗯,你可以这样做:
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 = {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 = {london: ['clapham', 'chelsea'], bristol:['clifton', 'redland']}
alert(myMap.london[0]);
alert(myMap['bristol'][1]);
查看jsFiddle
您可以使用地图这个例子:
var myMap = new Map();
myMap.set('key','Value');
var res = myMap.get('key');
console.log(var); // Result is: 'Value'
你声明的对象不是数组! – 2017-04-25 09:59:32
@SuhaybKharabsheh ??对?当您想要非数字属性名称时,不应使用JavaScript数组(除非您有非常好的理由)。 – Pointy 2017-04-25 12:15:49