Мені було цікаво про відмінності між Grep та Filter:
Фільтр:
Зменшіть набір відповідних елементів до тих, що відповідають селектору або проходять перевірку функції.
Греп:
Знаходить елементи масиву, які задовольняють функції фільтра. На оригінальний масив це не впливає.
в порядку.
отже, якщо я роблю це в 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);
});
Я міг би також зробити:
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);
});
В обох ситуаціях я все ще можу отримати доступ до вихідного масиву ...
так ... де різниця?
.grep(), що це допоміжний метод для загальної обробки масиву, в той час.filter()як зазвичай використовується для звуження виділення елементів. Я не думаю, що.grep()повертає об’єкт jQuery, і ви не можете його прив’язати (jQuery.fn.grepне існує).