tôi đã tự hỏi về sự khác nhau giữa Grep và Lọc:Grep vs Bộ lọc trong jQuery?
Lọc:
Giảm tập các phần tử phù hợp với những người phù hợp với selector hoặc vượt qua bài kiểm tra của hàm.
Grep:
Finds các yếu tố của một mảng mà đáp ứng một bộ lọc chức năng. Mảng gốc không bị ảnh hưởng.
ok.
vì vậy nếu tôi làm điều này trong 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);
});
tôi có thể làm thê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);
});
Trong cả hai tình huống tôi vẫn có thể truy cập vào các mảng ban đầu ...
vậy ... sự khác biệt ở đâu?
Tôi nghĩ '.grep()' là một phương thức trợ giúp để xử lý mảng chung, trong khi '.filter()' thường được sử dụng để thu hẹp các lựa chọn phần tử. Tôi không nghĩ '.grep()' trả về một đối tượng jQuery, và bạn không thể chuỗi nó ('jQuery.fn.grep' không tồn tại). –
'$ (arr) .filter' <- điều này là không cần thiết, thay vì' arr.filter'. – Mahn
Mahn không được hỗ trợ rộng rãi –