web-dev-qa-db-ja.com

javascript連想配列

python myMap = {key: [value1, value2]}そして、value2使用myMap[key][1]

このようなことをjavascriptで行うことはできますか?

32

さて、あなたはこれを行うことができます:

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"
42
Pointy

その通り。

var myMap = {london: ['clapham', 'chelsea'], bristol:['clifton', 'redland']}

alert(myMap.london[0]);
alert(myMap['bristol'][1]);

jsFiddle でこの例を参照してください

9
Swaff

はい、構文もほぼ同じです。

var myMap = {key: ["value1", "value2"]};
alert(myMap["key"][1]); // pops up an alert with the Word "value2"

次の表記も使用できます。

myMap.key[1]
8
Greg

短い答え...はい...

var m = { Foo : ["Bar", "Baz"] };

alert(m.Foo[0]);
alert(m["Foo"][1]);
5
Jimmy Chandra

マップを使用できます:

var myMap = new Map(); 
myMap.set('key','Value'); 
var res = myMap.get('key'); 

console.log(var); // Result is: 'Value'
0
Santo Boldižar