Eu estava me perguntando sobre as diferenças entre Grep e Filter:
Filtro:
Reduza o conjunto de elementos correspondentes àqueles que correspondem ao seletor ou passe no teste da função.
Grep:
Encontra os elementos de uma matriz que satisfazem uma função de filtro. A matriz original não é afetada.
Está bem.
então, se eu fizer isso no GREP:
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
myNewArray= jQuery.grep(arr, function(n, i){
return (n != 5 && i > 4);
});
Eu poderia fazer também:
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
myNewArray= $(arr).filter( function(n, i){
return (n != 5 && i > 4);
});
Em ambas as situações, ainda consigo acessar o array original ...
então ... onde está a diferença?
.grep()
é um método auxiliar para processamento de array geral, enquanto.filter()
é normalmente usado para restringir as seleções de elementos. Eu não acho que.grep()
retorna um objeto jQuery, e você não pode encadeá-lo (jQuery.fn.grep
não existe).