Javascript: Wie entferne ich ein Array-Element (JSON-Objekt) basierend auf dem Wert der Elementeigenschaft?

so was:

var arr = [  
            { name: "robin", age: 19 },   
            { name: "tom", age: 29 },  
            { name: "test", age: 39 } 
          ];  

Ich möchte ein Array-Element wie dieses entfernen (eine Array-Prototyp-Methode):

arr.remove("name", "test");  // remove by name  
arr.remove("age", "29");  // remove by age

Derzeit mache ich es mit dieser Methode (benutze jQuery):

Array.prototype.remove = function(name, value) {  
    array = this;  
    var rest = $.grep(this, function(item){    
        return (item[name] != value);    
    });  

    array.length = rest.length;  
    $.each(rest, function(n, obj) {  
        array[n] = obj;  
    });  
};  

aber ich denke die lösung hat ein leistungsproblem, also eine gute idee?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage