2017-07-06 8 views
0

Ich versuche, eine Lösung zu finden, um zwei hashmaps in Javascript zu vergleichen, aber ich habe eine Schwierigkeit.Vergleichen Sie zwischen zwei hashmap in Javascript

Das ist meine Situation, ich habe eine Hashmap aus einem Schlüssel + Wert in Form eines Arrays zusammen.

Beispiel: 125 : [1 , 2 , 3].

Und dann nehme ich diese Daten und vergleiche es mit einer anderen hashmap mit dieser Art.

Beispiel:

123 : [[1 , 1 , 1][2 , 8.7 , 10]] 
124 : [[0 , 0, 5.4][3 , 4 , 5][7, 9.1 , 6] 
125 : [[1 , 2 , 3][0.4 , 4 , 8]] 

Die zweite hashmap zu dem ersten ähnlich ist, aber sein Wert eine Anordnung von N Arrays enthalten könnte. Das Ziel: Die zweite hashmap mit meiner ersten hashmap zu analysieren und zu suchen, wenn sie einmal den Wert der ersten in einem Array der Sekunde findet, muss sie "OK" zurückgeben

Zum Beispiel in diesem Fall: es wird "OK "denn wir können feststellen, dass der Schlüssel 125 und ihr Wert in der ersten hashmap in 125 : [[1 , 2 , 3][0.4 , 4 , 8]]

umfassen soll mich nicht nur Test auf den Werten, sondern auch auf den Tasten

+0

Was haben Sie versucht? Wenn Sie etwas Code einbeziehen, können Sie möglicherweise eine angemessene Lösung für Sie finden. –

Antwort

2

die Verwendung von JSON.stringify kann Vereinfachen Sie Ihr Leben:

let compareKey = JSON.stringify([1, 2, 3]); 
 

 
let hash = { 
 
\t 123 : [[1 , 1 , 1], [2 , 8.7 , 10]], 
 
\t 124 : [[0 , 0, 5.4], [3 , 4 , 5], [7, 9.1 , 6]], 
 
\t 125 : [[1 , 2 , 3], [0.4 , 4 , 8]] 
 
}; 
 

 

 
for(let hashKey in hash) { 
 

 
\t hash[hashKey].forEach(el => { 
 
\t \t if (JSON.stringify(el) === compareKey) 
 
\t \t \t console.log(hashKey); 
 
\t }); 
 

 
}

+0

hast du den Code getestet? Es scheint, es wird nicht funktionieren, weil ich den Schlüssel mit ihrem Wert mit anderen und nicht nur den Wert des ersten Schlüssels vergleichen möchte. –

+0

Bitte notieren Sie ein Beispiel für das Ergebnis, das Sie erwarten. – gio

+0

meine erste hashmap ist 125: [1, 2, 3] und ich vergleiche dieses hashmap, wenn es in der zweiten enthalten ist, wie ich in meiner Frage erklärte, so muss ich suchen, wenn 125: [1, 2, 3] in 125 ist : [[1, 2, 3], [0.4, 4, 8]] dann gebe ich "OK" zurück, aber ich weiß nicht, wie man alle zweiten hashmaps analysiert, weil es nicht nur 1 Schlüssel + Wert enthält. Brauchen Sie mehr Details? –

Verwandte Themen