Есть вот такой массив:
let components = [
{
component: "input",
id: 1,
parentId: 0,
},
{
component: "select",
id: 2,
parentId: 1,
},
{
component: "date",
id: 3,
parentId: 2,
},
{
component: "input",
id: 4,
parentId: 0,
},
];
Как сделать так, чтобы на выходе получить вложеные обьекты по логике, что если есть parentId и он совпадает с элементом у которого такой id,то он становится вложенным в него?
То есть, в данном примере это выглядеть должно так:
[
{
component: input,
id: 1,
parentId: 0,
components: {
component: "Select",
id: 2,
parentId: 1,
components: {
component: "Date",
id: 3,
parentId: 2,
},
},
},
{
component: "Input",
id: 4,
parentId: 0,
}
];