2012-09-05 90 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);