Ich habe zwei Objekte wie dieses:
let obj1 = { slotIDs: ["5e0301f353ee2a0546298f15"] }
let obj2 = { slotIDs: ["5e0301f353ee2a0546298f15", "5e03050453ee2a0546298f1c"] }
Ich muss sie in einem einzigen Array wie diesem zusammenführen
let newObj = ["5e0301f353ee2a0546298f15", "5e03050453ee2a0546298f1c"]
Ich habe versucht, lodash union und map zu verwenden, aber kein Glück.
quelle
obj1.slotIDs
mitobj2.slotIDs
und verschmelzen nicht die Arrays und bekommt nur die eindeutigen Werte. Fügen Sie dem eine weitere eindeutige ID hinzu, dieobj1.slotIDs
im Ergebnis verschwindet, oder ändern Sie einfach die Reihenfolge der Objekte in der Zuweisungobj2, obj1
und überprüfen Sie das Ergebnis.Object.assign(obj1, obj2).slotIDs
quelle
obj1.slotIDs
mitobj2.slotIDs
und verschmelzen nicht die Arrays und bekommt nur die eindeutigen Werte. Fügen Sie dem eine weitere eindeutige ID hinzu, dieobj1.slotIDs
im Ergebnis verschwindet, oder ändern Sie einfach die Reihenfolge der Objekte in der Zuweisungobj2, obj1
und überprüfen Sie das Ergebnis.BEARBEITEN:
Alte Antwort:
Wie wäre es
{ ...obj1, ...obj2 }.slotIDs
?quelle
Wenn Ihr Objekt zusätzliche Eigenschaften haben kann, die Array-Werte enthalten, und Sie alle diese Eigenschaften zu einem eindeutigen Array zusammenführen möchten,
Object.entries()
mit dem Sie die Duplikate entfernen können,.map()
und dann aSet
:quelle