ยินดีต้อนรับกลับ.
มาพูดถึงตัวกรองกัน
ทีนี้ ตามชื่อ คุณควรเดาว่ามันใช้ทำอะไร
มันกรองสิ่งต่าง ๆ สำหรับเรา
ด้วยแผนที่เราจึงได้ไอเทมคืนมาเท่าเดิม จริงไหม?
เรามีสามรายการและเรากลับสามรายการ
เราเพิ่งทำแผนที่เหนือแต่ละรายการ
ด้วยตัวกรอง บางครั้งเราอาจได้รับน้อยกว่าที่เราให้
เรากำลังกรองผลลัพธ์บางส่วน
เรามาสร้างฟังก์ชันใหม่แทนการคูณด้วยสองกัน
ฉันต้องการสร้างฟังก์ชัน
และฟังก์ชันนี้ เราจะทำอย่างไรกับรายการ?
สมมุติว่ารายการถูกตรวจสอบว่าคี่หรือไม่
เราจะบอกว่า เฮ้ ตัวเลขเหล่านี้เป็นเลขคี่และส่งกลับเฉพาะเลขคี่เท่านั้น
ดังนั้นตรวจสอบ
Odd กำลังจะได้รับไอเทม
และรายการนี้กำลังดำเนินการอยู่
และอีกครั้งที่เราต้องคืนบางสิ่งบางอย่าง
เราจะคืนอะไร
ฟังก์ชันตัวกรองจะพยายามรับค่าจริงและเท็จหรือค่าบูลีน ไม่ว่าค่านั้นควรกรองหรือไม่ควรทำ
ดังนั้นถ้าเราต้องการตรวจสอบว่าตัวเลขเป็นเลขคี่หรือไม่ เราสามารถพูด item modulo two เพราะ modulo two จะหารตัวเลขด้วยสอง
และถ้ามันเท่ากับศูนย์ มันก็เป็นคู่
ถูกต้อง.
ผมบอกได้เลยว่ามันไม่เท่ากับศูนย์
ดังนั้นหากเศษเหลือไม่เท่ากับศูนย์ มันจะเป็นเลขคี่
และเราก็แค่ส่งคืนสิ่งนี้
อีกครั้ง นี่จะประเมินเป็นการแสดงออกของการกลั่นแกล้ง และจากการแสดงออกของการกลั่นแกล้ง ตัวกรองจะบอกว่า
ถ้ามันเป็นความจริง ฉันจะเก็บมันไว้ในรายการ
ถ้าไม่ฉันจะลบออกหรือไม่เพิ่มในรายการใหม่
มาลองดูกันดีกว่า แทนที่จะใช้แผนที่ มาทำตัวกรองกัน และเราจะตรวจสอบที่นี่
แปลก.
หรือ.
คุณรู้อะไรไหม?
ฉันไม่ชอบชื่อนี้
มาทำกัน
แปลกเท่านั้น
เช่นนั้น.
ถ้าฉันเรียกใช้สิ่งนี้
ดูนั่นสิ
ฉันได้กรองและถอดหลอดออกแล้วเพราะเป็นเลขคู่
อีกครั้ง.
สังเกตว่าฉันไม่ได้เรียกใช้ฟังก์ชันนี้อย่างไรเพราะตัวกรองยอมรับฟังก์ชันหรือสิ่งที่เราเรียกว่าลายเซ็นฟังก์ชันนั่นคือ
เฮ้ แค่บอกฉันว่าฉันจะหาพื้นที่หน่วยความจำที่ฉันควรไปที่ใดเพื่อดำเนินการใด
มันจะบอกว่า เฮ้ ให้ข้อมูลกับฉัน แล้วฉันจะเรียกใช้ฟังก์ชันนี้กับแต่ละรายการ
เมื่อเราไปที่อันหนึ่ง มันจะรันฟังก์ชันนี้โดยมีอันหนึ่งเป็นอาร์กิวเมนต์
หนึ่งหารด้วยสอง
นั่นไม่ได้ทำให้เราเหลือศูนย์อย่างแน่นอน
นั้นก็จะกลับ
จริง.
และนั่นหมายความว่าฉันจะเพิ่มมันเข้าไปในรายการใหม่ที่เราสร้างขึ้นเมื่อเราไปถึงสอง
เพราะนี่จะคืนค่าเท็จ
มันจะไม่เพิ่มลงในรายการ
อีกครั้งถ้าสมมติว่าเรามีรายชื่อผู้ใช้
ในกรณีนั้น เราอาจต้องการกรองข้อมูลตามผู้ใช้ โดยเริ่มจากชื่อ A
เราสามารถใช้ฟังก์ชันตัวกรองเพื่อกรองชื่อผู้ใช้ทั้งหมด
และมีเฉพาะรายการใหม่ที่มีชื่อผู้ใช้ที่มีตัวอักษรขึ้นต้นด้วย a.
อีกหนึ่งฟังก์ชั่นที่มีประโยชน์มาก
และอย่างที่คุณเห็น เรารักษาทุกสิ่งให้บริสุทธิ์
มันสร้างรายการใหม่สำหรับเรา
มันไม่ได้แก้ไขรายการเดิม
ดังนั้นเราจึงคำนึงถึงกระบวนทัศน์การทำงานนั้น
และอีกครั้งที่ความสวยงามของทั้งแผนที่และฟิลเตอร์จะทำให้ฟังก์ชันต่างๆ กลายเป็นเรื่องง่าย
ทุกอย่างดูดีและเรียบง่าย และโปรดทราบว่าสิ่งเหล่านี้อาจซับซ้อนขึ้นเล็กน้อย
แต่สิ่งที่เราต้องรู้คือ เฮ้ ฉันควรทำอย่างไรกับสินค้าและควรส่งคืนอะไร
นั่นเป็นสิ่งเดียวที่พวกเขากังวล
แทนที่จะมีฟังก์ชันมากมายมหาศาลที่พยายามทำทุกอย่าง
ไม่เป็นไร.
มาพูดถึงซิปกันต่อไป