2017-06-29 5 views
-1

Ich habe ein Problem bezüglich meiner hashMap in JS. Ich habe einige Eigenschaften "Schlüssel", die mehrmals wiederholt werden, aber zumindest in meiner hashMap finde ich nur die letzte.Wie duplikate Schlüssel in hashmap Javascript anzeigen?

Beispiel: Es sei angenommen, wir diese Liste der Tasten haben (12345, 12346, 12346, 12346, 12347) und jedes für ein Attribut ich einige Werte

12345 <= 1 
12346 <= 2 
12346 <= 1 
12346 <= 3 
12347 <= 4 

In der letzten es zeigt: 12345 : 1, 12346:3 , 12347:4. Aber ich brauche auch diese Informationen 12346 : 1, 12346 : 2 in meiner HashMap. Wie man es repariert? Hier ist mein Code:

getFacing: function(iSceneGraph){ 
       var facingArray = {}; 
       if (iSceneGraph.children.length >0){ 
        for (var i = 0; i < iSceneGraph.children.length; i++){ 
         facingArray = Object.assign(facingArray, this.getFacing(iSceneGraph.children[i])); 
        } 
       } 
       if (iSceneGraph.merch.type === "Facing"){ 
        facingArray[iSceneGraph.merch.ean] = iSceneGraph.merch.hcount; 
       } 
       return facingArray; 
      } 
+0

, was Sie erreichen wollen, ist nicht möglich, da in einer Karte die Schlüssel sind einzigartig und Duplikate sind nicht möglich. Kannst du den Wert als ein Array wie '12346: [2,1,3]' – nikhil

+4

haben Sie nicht doppelte Schlüssel in einer HashMap, sollten Sie Ihr Problem überdenken – dloeda

+0

Es ist nicht erlaubt, doppelte Schlüssel in a HashMap. Sie müssen eine andere Struktur verwenden. Kann ein Array sein, das die Schlüssel-Wert-Paare enthält: '[{" 12345 ": 1}, {" 12346 ": 2}, ...]' – marwils

Antwort

1
**Try this i think this will help you** 
<script type="text/javascript"> 
var animals = ['Cow', 'Cow', 'Dog', 'Cat','Cow']; 
var sounds = ['Moo', 'Oink', 'Woof', 'Miao','Moo']; 
var arr = []; 

for(i = 0; i < animals.length; i++) { 
    var hash = {}; 
    hash[animals[i]] = sounds[i]; 
    arr.push(hash); 
} 

console.log(arr); 

</script> 
Verwandte Themen