А в чём сложность? Просто объединить два объекта умеете? Перебирать массив умеете? Где проблема-то? :) Похоже на задачу.
Хотя бы попытки решить у вас есть?
я нашел уникальные id (uniqColumns). по ним пробежался.
const separationData = uniqColumns?.map(item => {
const res = []
const arr = dataPrepare?.filter(s => s[`${Object.keys(s).find((key) => key.startsWith("id"))}`] === item)
res.push(arr)
return res
})
у изначального массива были id совмещенные с цифрой (id0: 0). я привел arr к массиву массивов в котором объекты разделены по массивам в зависимости от значения id. И тут ты прав, возникла проблемка, иначе бы не спрашивал, извини за очевидный ответ. Осталось больший внутренний массив смержить с более мелкими, так чтоб свойства внутри объектов объединились. Поэтому и написал упрощенное задание, поскольку наверняка есть решения попроще.