I have a JSON list with duplicates I need to remove, but I can't find a way to do it.
This is the solution that I have.
I want to keep the first item found with a given ID, and remove the next ones with the same ID.
The problem is, it tries to remove even the first item.
var gindex = [];
function removeDuplicate(list) {
    $.each(list, function(i, val){
        console.log(val.id);
        console.log(gindex);
        if($.inArray(val.id, gindex) == -1) { //in array, so leave this item
            gindex.push(val.id);
        }
        else // found already one with the id, delete it
        {
            list.splice(i, 1);
        }
        if(val.children) {
            val.children = removeDuplicate(val.children);
        }
    });
    return list;
}
gindex = [];
list = removeDuplicate(parsed_list);
console.log(window.JSON.stringify(list));
finally, this is the original list :
[
  {
    "id": 0,
    "children": [
      {
        "id": 1,
        "children": [
          {
            "id": 2, // with my algorithm, this one get also flagged for deletion
          }
        ]
      },
      {
        "id": 2, // remove this one
      },
      {
        "id": 3,
      },
      {
        "id": 4, // with my algorithm, this one get also flagged for deletion
        "children": [
          { 
            "id": 5, // with my algorithm, this one get also flagged for deletion
            "children": [
              {
                "id": 6, // with my algorithm, this one get also flagged for deletion
              }
            ]
          }
        ]
      },
      {
        "id": 5, // remove this one
        "children": [
          {
            "id": 6, // remove this one
          }
        ]
      },
      {
        "id": 6, // remove this one
      },
      {
        "id": 7,
      }
    ]
  }
]
and this is the result I would like to obtain
[
  {
    "id": 0,
    "children": [
      {
        "id": 1,
        "children": [
          {
            "id": 2,
          }
        ]
      },
      {
        "id": 3,
      },
      {
        "id": 4,
        "children": [
          {
            "id": 5,
            "children": [
              {
                "id": 6,
              }
            ]
          }
        ]
      },
      {
        "id": 7,
      }
    ]
  }
]
thank you for your reply.