Filtrage d'un Tableau d'Objets à l'aide de Jquery $.grep sans Objet Wrapper

De filtrage fonctionne très bien pour un objet (data) s'enroulant autour d'un tableau d'objets:

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); //answer is 2

Cependant, le filtrage, sans que l'objet wrapper qui ne fonctionne pas.

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); //answer is 1 instead of 2

Je ne suis pas sûr de l'endroit où est le problème. Quelqu'un peut-il remarquer. Merci!

OriginalL'auteur Question Overflow | 2011-12-15