我有一個關於我在JS中的哈希映射的問題。我有一些屬性「鍵」重複多次,但至少在我的哈希映射中,我只找到最後一個。如何在JavaScript中使用hashmap顯示重複鍵的所有值?
例如:讓我們假設有鑰匙(12345, 12346, 12346, 12346, 12347)
列表,然後爲每一個我的屬性的一些值
12345 <= 1
12346 <= 2
12346 <= 1
12346 <= 3
12347 <= 4
在它顯示最後:12345 : 1, 12346:3 , 12347:4
。但我也需要在我的HashMap中的這些信息12346 : 1, 12346 : 2
。
這裏是我的代碼:
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;
}
結果:
我要顯示我的HashMap這樣的原因這是最好的解決辦法:
12345 : 1
12346 : {2,1,3}
12347 : 4
如何解決它?
它的目的是不可能多次具有相同的密鑰。你應該有一個數組並將它們推入其中。 – epascarello
我認爲hashmap的目的是每個項目都有一個唯一的標識符。也許你應該改變你的數據結構。 – DavidDomain
@DavidDomain你是對的,但這裏的目標是有一個值的數組鍵。因此,它可以工作,但我不知道如何改變這種方法 –