Javascript: Как удалить элемент массива (объект JSON) на основе значения свойства элемента?
нравится:
var arr = [
{ name: "robin", age: 19 },
{ name: "tom", age: 29 },
{ name: "test", age: 39 }
];
Я хочу удалить элемент массива следующим образом (метод прототипа массива):
arr.remove("name", "test"); // remove by name
arr.remove("age", "29"); // remove by age
В настоящее время я делаю это этим методом (используйте 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;
});
};
но я думаю, что решение имеет некоторую проблему с производительностью, так что есть хорошая идея?