2011-09-21 25 views
10

jQuery.grep() ile Çok boyutlu JSON nesnesi filtreleme:Böyle giderse bir JSON nesnesi var

{"data": 
[ 
    {"name":"Alan","height":"171","weight":"66"}, 
    {"name":"Ben","height":"182","weight":"90"}, 
    {"name":"Chris","height":"163","weight":"71"} 
] 
,"school":"Dover Secondary" 
} 

Ben daha uzun boylu olanların verilerini elde etmek JSON nesnesi filtrelemek istediğiniz 170 ve daha ağır 70 ve daha sonra bu nesneyi sıralar.

{"data": 
[ 
    {"name":"Ben","height":"182","weight":"90"}, 
] 
,"school":"Dover Secondary" 
} 
+0

Bu benim gerçek ağırlık ve boyun değil! –

cevap

21

seni düşünüyorum: Ben bu almak için eş zamanlı ağırlık ve yükseklik hem nasıl filtre

arr = jQuery.grep(arr, function(element, index){ 
    return (element > 70 && index = 'weight'); 
}); 

: jQuery website, ben filtreleme kolayca gibi bir şey ile doğrusal bir dizi elde olacağını anlamak Bu şu anlama gelir: http://jsfiddle.net/NRuM7/1/.

var obj = {"data": 
[ 
    {"name":"Alan","height":"171","weight":"66"}, 
    {"name":"Ben","height":"182","weight":"90"}, 
    {"name":"Chris","height":"163","weight":"71"} 
] 
,"school":"Dover Secondary" 
}; 

obj.data = jQuery.grep(obj.data, function(element, index){ 
    return element.weight > 70 && element.height > 170; // retain appropriate elements 
}); 
+0

Err .. Hem ağırlık hem de yükseklik filtrelemek istiyorum. Bu yapılabilir mi? –

+0

@Ben: Üzgünüz, lütfen benim düzenlemeye bakın. – pimvdb

+0

Evet, haklısınız. Teşekkürler ;) –

İlgili konular