Я ищу эффективный способ замены значений в многомерном объекте, используя Lodash или даже vanilla JS.
У меня есть массив с многомерными объектами неизвестной глубины, такими как (упрощенно)
objects = [{
id: 1,
view: {
id: 7
}
}, {
id: 2,
view: {
id: 9
},
childs: [{
id: 3,
view: {
id: 3
}
}]
}];
Теперь я хочу заменить значение представления каждого узла именованной ссылкой на импорт, хранящейся в отдельном объекте. Ссылки доступны через view.id как индекс этого объекта. Так что я пытаюсь достичь что-то вроде этого
views = {
3: some,
7: random,
9: imports
};
objects = [{
id: 1,
view: views[7]
}, {
...
}];
Хорошо, я знаю, как перебирать многомерный объект, чтобы достичь этого вручную, но, поскольку я работаю с большими объектами, было бы неплохо, если бы был более чистый и более производительный способ с использованием Lodash.
У кого-нибудь есть гениальное решение?