Filtering works great for an object ( data ) wrapping an array of objects:
var arr = {"data": [ {"name":"Alan","height":"171","weight":"66"}, {"name":"Ben","height":"182","weight":"90"}, {"name":"Chris","height":"163","weight":"71"} ] }; var new_arr = $.extend(true, arr); new_arr.data = $.grep(new_arr.data, function(n, i){ return n.weight > 70; }); alert(new_arr.data.length);
However, filtering without wrapping the object is not performed.
var arr = [ {"name":"Alan","height":"171","weight":"66"}, {"name":"Ben","height":"182","weight":"90"}, {"name":"Chris","height":"163","weight":"71"} ]; var new_arr = $.extend(true, arr); new_arr = $.grep(new_arr, function(n, i){ return n.weight > 70; }); alert(new_arr.length);
I am not sure where the problem is. Can someone point out. Thanks!
javascript jquery filtering
Question overflow
source share