List.AnyTrue คืนค่า true หากมีเงื่อนไขอย่างน้อยหนึ่งข้อใน List เป็นจริง
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| list | list | List ของค่าตรรกะ (logical values) หรือการแสดงออกที่คืนค่าเป็น true/false |
ฟังก์ชัน List.AnyTrue ใช้ตรวจสอบว่ามีสมาชิกอย่างน้อยหนึ่งตัวใน List ที่มีค่าเป็น true หรือไม่ ถ้ามีจะคืนค่า true ทันที แต่ถ้าสมาชิกทุกตัวเป็น false หรือ List ว่างเปล่า จะคืนค่า false นี่คือการใช้เงื่อนไข OR ในหลายเงื่อนไขพร้อมกัน
ที่เจ๋งคือว่า List.AnyTrue มีประสิทธิภาพดี เพราะมันจะหยุดการตรวจสอบทันทีที่พบค่า true ตัวแรก ไม่ต้องตรวจสอบสมาชิกที่เหลือทั้งหมด ต่างจาก List.AllTrue ที่ต้องตรวจสอบทุกตัวเลย
ส่วนตัวผม ผมชอบใช้ฟังก์ชันนี้กับการตรวจสอบคุณภาพข้อมูล เช่น ตรวจว่ามีบันทึกใด ๆ ที่มีข้อมูลที่ขาดหายไปหรือค่าผิดปกติ แค่มีหนึ่งอันก็แจ้งเตือนได้เลย 😎
ใช้ตรวจสอบว่ามี Error หรือค่าผิดปกติเกิดขึ้นในรายการใดรายการหนึ่งหรือไม่ (เช่น มีสินค้าใดสินค้าหนึ่งหมดสต็อกหรือไม่)
แทนการเขียน if condition1 or condition2 or condition3… สามารถรวมเงื่อนไขเป็น List แล้วใช้ List.AnyTrue แทนได้
ใน List มีทั้ง true, false และ 2 > 0 (ซึ่งคือ true) เนื่องจากมีค่าความจริงอยู่อย่างน้อย 1 ตัว ผลลัพธ์จึงเป็น true
2 = 0 เป็น false, false เป็น false, และ 2 < 0 เป็น false เนื่องจากไม่มีสมาชิกตัวใดเลยที่เป็นจริง ผลลัพธ์จึงเป็น false
List ว่างเปล่าถือว่า 'ไม่มีสมาชิกตัวใดที่เป็นจริง' ดังนั้นจึงคืนค่าเป็น false (ต่างจาก List.AllTrue ที่คืนค่า true)
ผมอธิบายให้ชัด ๆ นะ List.AnyTrue ใช้เงื่อนไข OR (ขอแค่ 1 ตัวจริงก็พอ) ส่วน List.AllTrue ใช้เงื่อนไข AND (ต้องจริงทุกตัว) ตัวอย่าง: List.AnyTrue({false, false, true}) = true แต่ List.AllTrue({false, false, true}) = false
ผมได้ลองแล้ว List.AnyTrue({}) คืนค่า false เพราะ 'ไม่มีสมาชิกจริง' ส่วน List.AllTrue({}) คืนค่า true นี่เรียกว่า vacuous truth ทางคณิตศาสตร์
ผมแนะนำให้ใช้กับค่าตรรกะและการเปรียบเทียบค่า เช่น {2>0, 3
ฟังก์ชันที่ผู้เขียนโยงไว้กับ List.AnyTrue จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
List.AllTrue คืนค่า true หากทุกเงื่อนไขใน List เป็นจริงทั้งหมด
List.Contains จะคืนค่า true หาก value ที่กำหนดเป็นสมาชิกของ List และคืนค่า false หากไม่พบ สามารถระบุ Comparer เพื่อกำหนดว่าจะให้ตรวจสอบแบบ Case Sensitive หรือ Case Insensitive ได้
List.ContainsAny คืนค่า true ถ้า List หลักมีสมาชิกอย่างน้อยหนึ่งตัวจาก List ที่สอง
List.MatchesAny คืนค่า true หากมีสมาชิกอย่างน้อยหนึ่งตัวใน List ผ่านเงื่อนไขที่กำหนด
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่