2012-09-05 58 views
0

我有这样的阵列:从JSON删除特定线与jquery

var array = [{"a":"1","b":"2"},{"a":"3","b":"1"},{"a":"5","b":"4"}] 

现在我想删除行,可以说,其中a = 5。所以事后阵列看起来像这样:

var array = [{"a":"1","b":"2"},{"a":"3","b":"1"}] 

我如何做这个最简单和最快的方法是什么?

+1

BTW ,那不是json,那是真正的javascript对象。 – timidboy

+0

最简单和最快的方式总是用于循环和if子句。然后你可能想阅读[映射](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/map)或[其他](http:// api。 jquery.com/jQuery.map/)。 – VisioN

回答

2

您可以使用jQuery.map,它允许您为要删除的元素返回null。

如:

var array = [{"a":"1","b":"2"},{"a":"3","b":"1"},{"a":"5","b":"4"}] 
var newArray = $.map(array, function(e){ 
    return (e.a == "5") ? null : e; 
}); 
// newArray contains [{"a":"1","b":"2"},{"a":"3","b":"1"}] 

活生生的例子(看控制台):http://jsfiddle.net/2Yz7f/

0

也许这就是你的答案

array.splice(2,1);