JSのhashMapに関する問題があります。私は何回か繰り返されるいくつかのプロパティ "キー"を持っていますが、少なくとも私のhashMapでは最後のものしか見つけません。javascriptを使ってハッシュマップに重複キーのすべての値を表示する方法は?
例:12345 : 1, 12346:3 , 12347:4
を:私たちは、キー(12345, 12346, 12346, 12346, 12347)
と私はそれが表示される最終的にいくつかの値
12345 <= 1
12346 <= 2
12346 <= 1
12346 <= 3
12347 <= 4
属性それぞれについてのこのリストを持っていると仮定してみましょう。しかし、私はまた、私のHashMapに12346 : 1, 12346 : 2
の情報が必要です。
12345 : 1
12346 : {2,1,3}
12347 : 4
私はどのように修正することができます:ここでは
が私のコードです:
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;
}
結果:それは最善の解決策だ原因
私はハッシュマップを表示するには、この方法をしたいですそれ?
オブジェクトは不可能です同じキーを複数回持っているあなたは配列を持っていて、その中に項目を押し込むべきです。 – epascarello
ハッシュマップの目的は、すべてのアイテムに一意の識別子があることだと思いました。おそらくデータ構造を変更する必要があります。 – DavidDomain
@DavidDomainあなたが正しいですが、目標は値の配列を持つキーを持つことです。だからうまくいくかもしれませんが、この方法を変更する方法がわかりません –