JSFiddle - React, Tailwind, and code Playground
JavaScript
const data = [
{
id: 2,
children: [
{
id: 1,
children: []
}
]
},
{
id: 3,
children: [],
}
];
function removeData(myarray, removable) {
var branch = [];
var datas= {};
myarray.forEach((dat, key) => {
if(dat.id != removable) {
datas.id = dat.id;
datas.children = [];
}
if(dat.children.length >0) {
var children = removeData(dat.children, removable);
if(children && datas.id) {
datas.children = children;
} else {
datas = children[0];
}
}
if(datas.children || datas.id) {
branch.unshift(datas);
datas ={};
}
});
return branch;
}
console.log(JSON.stringify(removeData(data, 2)));