Привет. Что-то не получается получить разницу между 2 массивами объектов по ключевому полю.
Есть 2 массива объектов.
1:
[
{
"name": "name1",
"prices": [
{
"count": 15164,
"price": 0.34,
}
],
},
{
"name": "name2",
"prices": [
{
"count": 26606,
"price": 0.33,
},
{
"count": 266,
"price": 0.23,
}
],
},
{
"name": "name3",
"prices": [
{
"count": 0,
"price": 0.45,
}
]
},
{
"name": "name4",
"prices": [
{
"count": 1,
"price": 0.45,
}
]
}
]
и второй:
[
{
"name": "name1",
"prices": [
{
"count": 26019,
"price": 1.13,
}
]
},
{
"name": "name2"
},
{
"name": "name3",
"prices": [
{
"count": 3198,
"price": 1.05,
},
{
"count": 3513,
"price": 0.94,
}
]
}
]
И нужно из 1 масиива объектов вычесть второй, если поле name совпадает. Т.е по вычетанию массивов мы должны получить массив из объекта, имени которого не было во 2 массиве:
[
{
"name": "name4",
"prices": [
{
"count": 1,
"price": 0.45,
}
]
}
]
Я уже пробовал и _difference и _where, _findWhere, но там на вход подаются массивы и не возможно указать ключ. Надо сделать через цикл и _find (или через filter?), вроде как, но условие не могу правильно составить.
Спасибо.