Search code examples
javascriptjqueryarraysobjectproperties

Remove array element based on object property


I have an array of objects like so:

var myArray = [
    {field: 'id', operator: 'eq', value: id}, 
    {field: 'cStatus', operator: 'eq', value: cStatus}, 
    {field: 'money', operator: 'eq', value: money}
];

How do I remove a specific one based on its property?

e.g. How would I remove the array object with 'money' as the field property?


Solution

  • One possibility:

    myArray = myArray.filter(function( obj ) {
        return obj.field !== 'money';
    });
    

    Please note that filter creates a new array. Any other variables referring to the original array would not get the filtered data although you update your original variable myArray with the new reference. Use with caution.