Mam dwie tablice z jednym wspólnym polu członek. jak mogę łatwo scalić motyw?Jak scalić dwie tablice obiektów za pomocą aplikacji lodash?
Na przykład:
var arr1 = [{
"member" : ObjectId("57989cbe54cf5d2ce83ff9d6"),
"bank" : ObjectId("575b052ca6f66a5732749ecc"),
"country" : ObjectId("575b0523a6f66a5732749ecb")
},
{
"member" : ObjectId("57989cbe54cf5d2ce83ff9d8"),
"bank" : ObjectId("575b052ca6f66a5732749ecc"),
"country" : ObjectId("575b0523a6f66a5732749ecb")
}];
var arr2 = [{
"member" : ObjectId("57989cbe54cf5d2ce83ff9d6"),
"name" : 'xxxxxx',
"age" : 25
},
{
"member" : ObjectId("57989cbe54cf5d2ce83ff9d8"),
"name" : 'yyyyyyyyyy',
"age" : 26
}];
Oczekiwany:
var merge = [{
"member" : ObjectId("57989cbe54cf5d2ce83ff9d6"),
"bank" : ObjectId("575b052ca6f66a5732749ecc"),
"country" : ObjectId("575b0523a6f66a5732749ecb"),
"name" : 'xxxxxx',
"age" : 25
},
{
"member" : ObjectId("57989cbe54cf5d2ce83ff9d8"),
"bank" : ObjectId("575b052ca6f66a5732749ecc"),
"country" : ObjectId("575b0523a6f66a5732749ecb"),
"name" : 'yyyyyyyyyy',
"age" : 26
}];
Próbowałem
var merge = _.unionBy(arr1, arr2, 'member');
ale nie połączyła się jako exp ect. pokazano wartość array1:. czy ktoś może mi pomóc?
http://youmightnotneedjquery.com/#deep_extend lub http://youmightnotneedjquery.com/#extend, która łączy się od https: //lodash.com/docs#assign –
Pamiętam, że zadałeś to pytanie [wcześniej] (http://stackoverflow.com/questions/38505448/how-to-merge-multiple-array-of-object-by -id-in-javascript) i uważam, że najbardziej przecząca odpowiedź powinna wystarczyć jako odpowiedź. Po prostu zmień 'memberID' na' member' i usuń 'arr3' i' arr4' w konkatenacji. – ryeballar
Odpowiedź, którą otrzymałeś wcześniej, była bardziej klejnotem niż zdajesz sobie sprawę. Nie pytajcie nas, abyśmy dwukrotnie pisali, wystarczy zamknąć jako duplikat. – 4castle