Ich bin neu in Javascript, und ich habe JSON-Array, das einige Nachschlüssel wie unten enthält:Finden Maximalwert von JSON-Objekte aus dem Array und kombiniere sie
var connections = [
{
"source":"l1",
"target":"l2",
"metrics": { "normal":20 },
"metadata": { "streaming": 1 }
},
{
"source":"l2",
"target":"l3",
"metrics": { "normal":30 },
"metadata": { "streaming": 1 }
},
{
"source":"l2",
"target":"l3",
"metrics": { "normal":25 },
"metadata": { "streaming": 1 }
},
{
"source":"l3",
"target":"l4",
"metrics": { "normal":24 },
"metadata": { "streaming": 1 }
},
{
"source":"l3",
"target":"l4",
"metrics": { "normal":21 },
"metadata": { "streaming": 1 }
},
{
"source":"l3",
"target":"l4",
"metrics": { "normal":20 },
"metadata": { "streaming": 1 }
},
]
Jetzt möchte ich doppelte JSON fusionieren, die denselben Wert hat von "source" und "target" und Schlüssel "normal" sollte das Maximum der gleichen Quelle und Ziel sein. So ist die Antwort für gegebenes Beispiel wird sein:
var answer =[
{
"source":"l1",
"target":"l2",
"metrics": { "normal":20 },
"metadata": { "streaming": 1 }
},
{
"source":"l2",
"target":"l3",
"metrics": { "normal":30 },
"metadata": { "streaming": 1 }
},
{
"source":"l3",
"target":"l4",
"metrics": { "normal":24 },
"metadata": { "streaming": 1 }
},
]
Dies ist nur ein Beispiel Objekt, das es auf mit verschiedenen Objekten geht. Ich weiß nicht, wie ich dieses Problem lösen kann, Ich denke, Unterstreichung oder Lodash kann leicht sein, dieses Problem zu lösen, aber jeder knid der Lösung wird akzeptiert.