2016-10-07 3 views
0

皆さん、こんにちは皆私は以下の問題があります。キーを保持するMap() - システム名と値 - キー/値のペアのコンポーネント名/サブコンポーネント名でMap()をネストします。ネストされたマップ内の1つのコンポーネント名に複数のサブコンポーネント名を格納する必要があります。私は私のコードで同じsystemNameとcomponentNameを取得するときに、このようなものを試してみましたが、うまくいきませんでした。JavaScriptマップの1つのキーに複数の値を「プッシュ」する方法

mapName.get(systemName).get(componentName).set(subcomponentName, value); 
+0

を、私はあなたが求めているものは考えている... – evolutionxbox

+0

間違っている男は何ですか?問題は完全にはっきりしています。 – georg

答えて

1

あなたは自動ネスティングを提供するために、Mapを拡張することができます

class NestedMap extends Map { 
 
    get(key) { 
 
     if(!this.has(key)) 
 
      this.set(key, new NestedMap); 
 
     return super.get(key); 
 
    } 
 
} 
 

 
// 
 

 
let myMap = new NestedMap; 
 

 
myMap.get('systemName').get('componentName').set('subcomponentName', 'xyz'); 
 

 
console.log(myMap.get('systemName').get('componentName').get('subcomponentName'))

+0

甘いアイデア..... –

関連する問題