การกระจายและการกระจายที่รู้จัก null
แทรกคอลเลกชันหนึ่งไว้ในอีกคอลเลกชันหนึ่ง
การกระจายและการกระจายที่รู้จัก null เป็นบทเรียน Dart Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Dart Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
รวมคอลเลกชัน
บ่อยครั้งคุณต้องการนำรายการทั้งหมดจากลิสต์หนึ่งไปใส่ในอีกลิสต์หนึ่ง ตัวดำเนินการกระจายของ Dart ช่วยแทรกคอลเลกชันทั้งหมดได้ในครั้งเดียว
ทำความรู้จักจุดสามจุด
ตัวดำเนินการกระจายคือจุดสามจุดที่วางไว้หน้าคอลเลกชันภายในลิเทอรัลของลิสต์ เซต หรือแผนที่ รายการต่าง ๆ จะถูกใส่เข้ามาทันที
var more = [4, 5];
var all = [1, 2, 3, ...more];ผลลัพธ์ของการกระจาย
การกระจายจะคัดลอกรายการต้นทางไปยังคอลเลกชันใหม่ ผลลัพธ์คือลิสต์ ใหม่ ส่วนคอลเลกชันเดิมของคุณจะไม่ถูกแก้ไข
กระจายได้ทุกตำแหน่ง
คุณสามารถวางการกระจายไว้ที่ ต้น กลาง หรือท้าย และผสมการกระจายหลายรายการกับรายการปกติในลิเทอรัลเดียวกันได้
var x = [0, ...a, 9, ...b];ปัญหาค่า null
หากคอลเลกชันที่นำมากระจายเป็น null การกระจายแบบปกติจะทำให้เกิดข้อผิดพลาด ซึ่งมีความเสี่ยงเมื่อแหล่งข้อมูลอาจยังไม่มีอยู่
การกระจายที่รองรับค่า null
เพิ่มเครื่องหมายคำถามสำหรับ การกระจายที่รองรับค่า null ซึ่งเขียนเป็นเครื่องหมายคำถามตามด้วยจุดสามจุด แหล่งข้อมูลที่เป็น null จะไม่เพิ่มรายการใด ๆ
var all = [1, 2, ...?maybeNull];ข้ามโดยไม่หยุดทำงาน
เมื่อใช้การกระจายที่รองรับค่า null คอลเลกชันที่เป็น null จะถูก ข้ามไป คุณจะยังได้รายการส่วนที่เหลือและไม่เกิดข้อผิดพลาดขณะทำงาน
การกระจายใช้กับเซตได้
การกระจายไม่ได้ใช้ได้เฉพาะกับลิสต์เท่านั้น ภายในลิเทอรัลของ เซต รายการต่าง ๆ จะถูกใส่เข้ามาด้วย และรายการซ้ำจะถูกตัดออกเพื่อให้เซตมีค่าไม่ซ้ำกัน
var s = {1, 2, ...other};การกระจายใช้กับแผนที่ได้
คุณสามารถกระจาย แผนที่หนึ่งเข้าไปในอีกแผนที่หนึ่งเพื่อรวมรายการได้ คีย์ที่อยู่ภายหลังจะมีผลเหนือกว่า ดังนั้นการกระจายจึงเขียนทับค่าก่อนหน้าได้อย่างเป็นระเบียบ
var m = {'a': 1, ...defaults};การกระจายเทียบกับ addAll
การกระจายจะสร้างคอลเลกชันใหม่ใน ลิเทอรัล ขณะที่ addAll จะเปลี่ยนแปลงคอลเลกชันเดิม ให้เลือกใช้การกระจายเมื่อต้องการผลลัพธ์ใหม่
เหตุใดจึงอ่านเข้าใจง่าย
การกระจายทำให้เห็นเจตนาได้ชัดเจน: คุณมองเห็นได้ทันทีว่าส่วนใดบ้างประกอบกันเป็นคอลเลกชันใหม่ ทั้งหมดอยู่ใน ลิเทอรัล เดียวที่เป็นระเบียบ 📦
ตรวจสอบอย่างรวดเร็ว
การกระจายที่รองรับค่า null จะเกิดอะไรขึ้นเมื่อคอลเลกชันเป็น null
สรุปทบทวน
การกระจาย (...) จะแทรกคอลเลกชันลงในลิเทอรัล ส่วนการกระจายที่รองรับค่า null (...?) จะข้ามแหล่งข้อมูลที่เป็น null อย่างปลอดภัย ใช้ได้กับลิสต์ เซต และแผนที่ 🎯
คำถามที่พบบ่อย
บทเรียน “การกระจายและการกระจายที่รู้จัก null” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การกระจายและการกระจายที่รู้จัก null” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Dart Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การกระจายและการกระจายที่รู้จัก null”
แทรกคอลเลกชันหนึ่งไว้ในอีกคอลเลกชันหนึ่ง คุณปฏิบัติ Dart Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Dart Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Dart Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การกระจายและการกระจายที่รู้จัก null” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Dart Academy นี้ได้ไหม
ได้ บทเรียน Dart Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตัวดำเนินการ Cascade (..)
- Cascade ที่หยุดเมื่อพบ null (?..)
- การกระจายและการกระจายที่รู้จัก null
- if และ for ในคอลเลกชัน