Search code examples
javascriptjqueryarraysobject

Find and remove objects in an array based on a key value in JavaScript


I have been trying several approaches on how to find an object in an array, where ID = var, and if found, remove the object from the array and return the new array of objects.

Data:

[
    {"id":"88","name":"Lets go testing"},
    {"id":"99","name":"Have fun boys and girls"},
    {"id":"108","name":"You are awesome!"}
]

I'm able to search the array using jQuery $grep;

var id = 88;

var result = $.grep(data, function(e){
     return e.id == id;
});

But how can I delete the entire object when id == 88, and return data like the following?

Data:

[
    {"id":"99", "name":"Have fun boys and girls"},
    {"id":"108", "name":"You are awesome!"}
]

Solution

  • I can grep the array for the id, but how can I delete the entire object where id == 88

    Simply filter by the opposite predicate:

    var data = $.grep(data, function(e){ 
         return e.id != id; 
    });