Что я хочу сделать, это пересечь два объекта.Пересечение двух объектов в угловом 2
Я хочу сравнить объекты, и если они имеют одинаковые значения на одних и тех же клавишах, просто добавьте их в другой объект.
obj1 = { "Projects": [ "test" ], "Companies": [ "facebook", "google", "yahoo" ], "Locations": [ "LA", "NY" ], "Interests": [] }
obj2 = { "Projects": [ "test" ], "Companies": [ "netflix", "skype", "facebook" ], "Locations": [ "sttugart", "torino", "LA" ],
"Интересы": []}
Результат будет:
obj3 = { "Projects": [ "test" ], "Companies": [ "facebook" ], "Locations": [ "LA" ], "Interests": [] }
Что я пытался что-то вроде этого:
intersect(obj1, obj2)
for(let key of obj1)
if(obj2[key] == obj1[key]) obj3[key] = obj2[key];
И да, я проверил SO для других решений, у меня не было результата.
EDIT
Моя попытка dind't вероятно работать, потому что мой объект is not an array type or a string type
как слияние объектов, а не удаление дубликатов? –
вы также можете это сделать ... удалить экземпляры, в которых определенное значение не отображается, по крайней мере, в значениях x x - количество объектов, которые вы сравниваете таким образом, что вы можете гарантировать, что это конкретное значение существует во всех объектах (предполагая, что каждый объект содержит только одно значение этого значения) –
https://lodash.com/docs/4.16.2#intersection Я полностью предлагаю использовать эти функции, поскольку они оказываются более эффективными –