I would like to know how to remove the status deleted in children key in a nested array of objects,
in javascript, below code returns cannot return filter of undefined error,
I have obj, children key should contain only status Active;
var obj = [
{id:1, label: "sample", children: [{id: 0, status: "Active", name: "xyz"}, {id: 1, status: "Deleted", name: "abc"}]}
{id:2, label: "example"},
{id:3, label: "details", children: [{id:1, status: "Active", name: "finance"}]}
]
var result = removeDeleted(obj);
function removeDeleted(obj){
if (obj.length > 0) {
var list= obj.map(e => {
e.children = e.children.map(child => {
child.children = child.children.filter(c =>
c['status'] !== "Deleted"
);
return child
});
return e
});
return list;
}
}
Expected Output:
[
{id:1, label: "sample", children: [{id: 0, status: "Active", name: "xyz"}]}
{id:2, label: "example"},
{id:3, label: "details", children: [{id:1, status: "Active", name: "finance"}]}
]