0Pricing
Dart Academy · บทเรียน

การกระจายและการกระจายที่รู้จัก 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ตัวดำเนินการ Cascade (..)
  2. Cascade ที่หยุดเมื่อพบ null (?..)
  3. การกระจายและการกระจายที่รู้จัก null
  4. if และ for ในคอลเลกชัน
← กลับไปที่ Dart Academy