Grep ve Filter arasındaki farkları merak ediyordum:
Filtrele:
Seçici ile eşleşen veya işlevin testini geçen eşleşen öğeler kümesini azaltın.
Grep:
Bir dizinin filtre işlevini sağlayan öğelerini bulur. Orijinal dizi etkilenmez.
tamam.
yani bunu GREP'de yaparsam:
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);
});
Ben de yapabilirim:
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);
});
Her iki durumda da orijinal diziye hala erişebiliyorum ...
yani ... fark nerede?
.grep()Genel dizi işleme için yardımcı bir yöntem olduğunu düşünüyorum , ancak.filter()genellikle öğe seçimlerini daraltmak için kullanılır..grep()Bir jQuery nesnesi döndürdüğünü sanmıyorum ve onu zincirleyemezsiniz (jQuery.fn.grepmevcut değil).