I am using Lodash for combining two arrays to return new values,
example,
var lastValue = [{"id": 5, "view": {"id": 2932, "name": "Available"}, "rowAttribute": "last value 1"}, {"id": 6, "view": {"id": 2933, "name": "Active"}, "rowAttribute": "last value 2"}]
var updatedValue = [{"view": {"id": 2932, "name": "Available"}, "rowAttribute": "updated value 1"}, {"view": {"id": 2934, "name": "inactive"}, "rowAttribute": "updated value 2"}]
I am using unionBy like,
_.unionBy(lastValue, updatedValue, 'view.id');
and I am getting like,
[{"view": {"id": 2932, "name": "Available"}, "rowAttribute": "updated value 1"}, {"id": 6, "view": {"id": 2933, "name": "Active"}, "rowAttribute": "last value 2"}, {"view": {"id": 2934, "name": "inactive"}, "rowAttribute": "updated value 2"}]
My expectation is like,
[
{
"id": 5,
"view": {
"id": 2932,
"name": "Available"
},
"rowAttribute": "updated value 1"
},
{
"id": 6,
"view": {
"id": 2933,
"name": "Active"
},
"rowAttribute": "last value 2"
},
{
"view": {
"id": 2934,
"name": "inactive"
},
"rowAttribute": "updated value 2"
}
]
I want combined values of both the array. if view.id is/are available in updatedValue then it should return with updated value with Id else same from both the arrays.