Ich habe zwei Arrays von ObjektenVergleichen Sie zwei Arrays von Objekten in Underscore.js
var arr1 =
[
{
"lastInteracted": "2016-03-31T11:13:09.000Z",
"email": "[email protected]",
"interactionCount": 2
},
{
"lastInteracted": "2016-03-31T21:06:19.000Z",
"email": "[email protected]",
"interactionCount": 1
},
{
"lastInteracted": "2016-03-29T11:15:41.000Z",
"email": "[email protected]",
"interactionCount": 1
},
{
"lastInteracted": "2016-03-24T10:02:29.000Z",
"email": "[email protected]",
"interactionCount": 1
}
]
und
var arr2 =
[
{
"lastInteracted": "2016-03-31T11:13:09.000Z",
"email": "[email protected]",
"interactionCount": 2
},
{
"lastInteracted": "2016-03-31T21:06:19.000Z",
"email": "[email protected]",
"interactionCount": 4
},
{
"lastInteracted": "2016-03-29T11:15:41.000Z",
"email": "[email protected]",
"interactionCount": 1
},
{
"lastInteracted": "2016-03-24T10:02:29.000Z",
"email": "[email protected]",
"interactionCount": 1
},
{
"lastInteracted": "2016-03-24T10:02:29.000Z",
"email": "[email protected]",
"interactionCount": 10
},
{
"lastInteracted": "2016-03-24T10:02:29.000Z",
"email": "[email protected]",
"interactionCount": 18
}
]
ich, dass diese zwei Arrays so zusammenführen möchten, wenn die E-Mail eines Objekts existiert in beiden dann Vergleichen Sie die interactionCount
von arr1 mit arr2 sonst geben Sie die interactionCount entweder arr1 oder arr2 zurück.
Ergebnis wird
var result = [
{
"lastInteracted": "2016-03-31T11:13:09.000Z",
"email": "[email protected]",
"interactionCount": 0
},
{
"lastInteracted": "2016-03-31T21:06:19.000Z",
"email": "[email protected]",
"interactionCount": -4
},
{
"lastInteracted": "2016-03-29T11:15:41.000Z",
"email": "[email protected]",
"interactionCount": 1
},
{
"lastInteracted": "2016-03-24T10:02:29.000Z",
"email": "[email protected]",
"interactionCount": 1
},
{
"lastInteracted": "2016-03-29T11:15:41.000Z",
"email": "[email protected]",
"interactionCount": 1
},
{
"lastInteracted": "2016-03-24T10:02:29.000Z",
"email": "[email protected]",
"interactionCount": 1
},
{
"lastInteracted": "2016-03-24T10:02:29.000Z",
"email": "[email protected]",
"interactionCount": 10
},
{
"lastInteracted": "2016-03-24T10:02:29.000Z",
"email": "[email protected]",
"interactionCount": 18
}
]
Haben Sie versucht das? http://StackOverflow.com/a/13514962/1702612 – Bikas
Mögliches Duplikat von [Zusammenführung zweier Sammlungen mit Underscore.JS] (http://StackOverflow.com/questions/13514121/merging-two-collections-using-underscore-js) – alexmac
Ich bin durch diese Lösungen gegangen, aber sie tun nicht, was ich brauche. Wenn Sie das Ergebnis-Array betrachten können, wird es vielleicht viel klarer, da ich nicht nur Duplikate eliminieren, sondern auch einen Unterschied der Werte erhalten will, wo immer die Duplikate vorhanden sind. –