Chào mừng trở lại.
Hãy nói về bộ lọc.
Bây giờ, dựa vào tên, bạn có thể đoán nó làm gì.
Nó lọc mọi thứ cho chúng tôi.
Vì vậy, với bản đồ, chúng ta luôn nhận được cùng một số lượng các mặt hàng, phải không?
Chúng tôi có ba mục và chúng tôi đã nhận lại ba mục.
Chúng tôi chỉ lập bản đồ từng mục.
Với bộ lọc, đôi khi chúng ta có thể nhận được ít hơn những gì chúng ta đã cho nó.
Chúng tôi đang lọc một số kết quả của chúng tôi.
Vì vậy, hãy tạo một hàm mới thay vì nhân với hai.
Tôi muốn tạo một chức năng.
Và chức năng này, chúng ta sẽ làm gì với các mục?
Giả sử nếu các mục được kiểm tra nếu là lẻ.
Vì vậy, chúng tôi sẽ nói, này, những số này có lẻ không và chỉ trả về các số lẻ.
Vì vậy, hãy kiểm tra.
Odd là sẽ nhận được một vật phẩm.
Và mục này sẽ được thực hiện.
Và một lần nữa, chúng ta phải trả lại một thứ gì đó.
Chúng ta sẽ trở về là gì?
Chà, hàm bộ lọc sẽ thử và nhận giá trị true và false hoặc giá trị Boolean, cho dù nó
nên được lọc hay không.
Vì vậy, nếu chúng ta muốn kiểm tra xem một số có lẻ hay không, chúng ta có thể nói mục modulo hai vì modulo hai sẽ chia
số đó cho hai.
Và nếu nó bằng 0, thì nó là số chẵn.
Đúng.
Vì vậy, tôi có thể nói nó không bằng không.
Vì vậy, nếu phần còn lại không bằng 0, nó sẽ là số lẻ.
Và chúng tôi chỉ đơn giản trả lại cái này.
Một lần nữa, điều này sẽ được đánh giá thành một biểu hiện bắt nạt và dựa trên biểu hiện bắt nạt, bộ lọc sẽ
cho biết, nếu đó là sự thật, tôi sẽ giữ nó trong danh sách.
Nếu không, tôi sẽ xóa hoặc không thêm vào danh sách mới.
Vì vậy, hãy kiểm tra điều này thay vì bản đồ, hãy thực hiện bộ lọc và ở đây chúng tôi sẽ kiểm tra.
Số lẻ.
Hoặc.
Bạn biết gì?
Tôi không thích cái tên này.
Hay lam.
Chỉ lẻ.
Như vậy đó.
Nếu tôi chạy cái này.
Nhìn kìa.
Tôi đã lọc và loại bỏ ống vì đó là một số chẵn.
Lại.
Lưu ý ở đây cách tôi không gọi hàm vì bộ lọc chấp nhận một hàm hoặc cái mà chúng tôi gọi là
chữ ký hàm.
Này, chỉ cần cho tôi biết nơi tôi có thể tìm thấy không gian bộ nhớ mà tôi nên đến để thực hiện hành động nào.
Và nó sẽ nói, Này, hãy cho tôi dữ liệu và tôi sẽ chạy chức năng này trên từng mục.
Vì vậy, khi chúng ta đi đến một, nó sẽ chạy hàm này với một làm đối số.
Một chia hai.
Chà, điều đó chắc chắn không mang lại cho chúng ta phần còn lại của số không.
Vì vậy, nó sẽ trở lại.
ĐÚNG VẬY.
Và điều đó có nghĩa là tôi sẽ thêm nó vào danh sách mới mà chúng tôi tạo khi chúng tôi có
hai, bởi vì điều này sẽ trả về false.
Nó sẽ không thêm nó vào danh sách.
Một lần nữa nếu giả sử chúng ta có một danh sách người dùng.
Trong trường hợp đó, chúng tôi có thể muốn lọc ra dựa trên người dùng, bắt đầu bằng tên A.
Chúng ta có thể sử dụng chức năng bộ lọc để lọc qua tất cả các tên người dùng.
Và chỉ có một danh sách mới với tên người dùng có các chữ cái, bắt đầu bằng a.
Một chức năng rất hữu ích khác.
Và như bạn có thể thấy, chúng tôi đã giữ mọi thứ trong sáng.
Nó tạo ra một danh sách mới cho chúng tôi.
Nó không sửa đổi danh sách ban đầu.
Vì vậy, chúng tôi đang ghi nhớ mô hình chức năng đó.
Và một lần nữa, vẻ đẹp của cả bản đồ và bộ lọc là trông các chức năng trở nên đơn giản như thế nào.
Mọi thứ đều đẹp và đơn giản, bạn nhớ nhé, chúng có thể phức tạp hơn một chút.
Nhưng tất cả những gì chúng ta cần biết là, Này, tôi nên làm gì với món hàng và tôi nên trả lại những gì?
Đó là điều duy nhất mà họ quan tâm.
Thay vì có những chức năng khổng lồ, đồ sộ cố gắng làm mọi thứ.
Được rồi.
Hãy nói về zip tiếp theo.