Skip to content Skip to sidebar Skip to footer

How To Remove An Nested Json Object Using Id

In my application I create a JavaScript object based on a JSON similar to this: { name: 'root', id: 112, children: [ { name: 'child one', id: 231, child

Solution 1:

function del(obj,id){
  obj.children = obj.children.filter(el => {
    if(el.children) del(el,id);//delete subnodes
    return el.id !== id; //delete this
 });
}

A recursive approach to traverse the objects, usable as:

del(
 { children:[ { id:1 }, { id:2, children:[{id:1}] }] },
1
);

Solution 2:

check this :

var abc = your json object;

//now filter the item based on id

abc = jQuery.grep(
                abc.children, 
                function (item,index) { 
                  return item.id !=  "343"; 
                });

hope it helps.

Solution 3:

var delIt = function (obj,id) {

   return obj.children = obj.children.filter(function (child) {
        if(child.children) delIt(child,id);
        return child.id!=id;
    });


}

var x= delIt(Tobj,335);

You can use filter function to collect items which are not equals to given id

Post a Comment for "How To Remove An Nested Json Object Using Id"