Я хочу преобразовать объект javascript, который ссылается друг на друга по его атрибуту,
говорит, что у меня есть этот объект
{
apple: {
banana: [1,2,3],
cherry: [4,5,6],
},
banana: {
date: [7],
cherry: [8,9],
elderberry: [10, 11],
},
cherry: {
date: [7],
fig: [12,13],
},
date: {
fig: [11,14],
},
},
И я хочу превратить этот объект в этот
{
apple: {
banana: [1,2,3],
cherry: [4,5,6, 8,9],
date: [7],
elderberry: [10, 11],
fig: [11,14, 12,13],
},
banana: {
cherry: [8,9],
elderberry: [10, 11],
fig: [11,14, 12,13],
date: [7],
},
cherry: {
date: [7],
fig: [11,14, 12,13],
},
date: {
fig: [11,14],
},
}
В этом примере атрибут вишни у яблока имеет [4,5,6, 8,9],
[4,5,6] исходит от яблока, а [8, 9] - от банана, потому что яблоко имеет отношение к банану, а банан имеет эталонную вишню, поэтому оно будет объединено в [4,5,6, 8,9 ]
а также конечный массив на самом деле уникальное значение
Так что идея заключается в том, что он рекурсивно объединит другое значение компонента, используя lodash или другую библиотеку - все в порядке ~