我是新來的JavaScript,我有JSON數組,其中包含一些重複鍵象下面這樣:從陣列JSON對象查找最大值,並把它們合併
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 }
},
]
現在我想合併重複的JSON誰擁有相同的價值「源」和「目標」和「正常」鍵應該是所有同一來源和目標的最大值。 因此,對於給定的例子答案是:
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 }
},
]
這僅僅是一個例子反對它會與不同的對象。我不知道如何解決這個問題, 我認爲下劃線或lodash可以很容易地解決這個問題,但任何解決方案都可以接受。