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

วนซ้ำรายการ คีย์ และค่า

วนลูปในแมปและใช้ putIfAbsent

วนซ้ำรายการ คีย์ และค่า เป็นบทเรียน Dart Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Dart Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน

การวนซ้ำในแผนที่

บางครั้งคุณจำเป็นต้องเข้าถึงคู่ข้อมูลทุกคู่ในแผนที่ Dart มีวิธีสะอาดตาหลายแบบสำหรับวนดูข้อมูลเหล่านั้น 🚶

เฉพาะคีย์

คุณสมบัติ keys จะให้ข้อมูลที่วนซ้ำได้ซึ่งประกอบด้วยคีย์ทุกตัว ใช้การวนซ้ำนี้เมื่อคุณสนใจเฉพาะป้ายกำกับ

var m = {'a': 1, 'b': 2};
for (var k in m.keys) {
  print(k);
}

เฉพาะค่า

คุณสมบัติ values จะให้ข้อมูลที่วนซ้ำได้ซึ่งประกอบด้วยค่าทุกค่า โดยไม่สนใจคีย์เลย

var m = {'a': 1, 'b': 2};
for (var v in m.values) {
  print(v);
}

คู่ข้อมูลด้วย entries

คุณสมบัติ entries จะให้วัตถุ MapEntry เพื่อให้คุณเข้าถึงทั้งคีย์และค่าของคีย์นั้นได้พร้อมกัน

for (var e in m.entries) {
  print(e.key);
  print(e.value);
}

ทางลัด forEach

วิธีการ forEach จะส่งคีย์และค่าแต่ละคู่มาให้คุณโดยตรง ทำให้การทำงานกับแต่ละคู่มีรูปแบบที่อ่านได้สะอาดตามาก

m.forEach((key, value) {
  print('$key: $value');
});

มารู้จัก putIfAbsent

ใช้ putIfAbsent เพื่อกำหนดค่าให้คีย์เฉพาะเมื่อคีย์นั้นไม่มีอยู่ คีย์ที่มีอยู่แล้วจะไม่ถูกเปลี่ยนแปลง

var m = {'a': 1};
m.putIfAbsent('b', () => 2);

เหตุผลที่ putIfAbsent มีประโยชน์

ฟังก์ชันค่าสำหรับ putIfAbsent จะทำงานเฉพาะเมื่อจำเป็น คุณจึงไม่ต้องเสียเวลาทำงานโดยเปล่าประโยชน์กับคีย์ที่มีอยู่แล้ว

m.putIfAbsent('a', () => expensive());

การอัปเดตค่า

วิธีการ update จะเปลี่ยนค่าของคีย์ที่มีอยู่ด้วยฟังก์ชัน เหมาะอย่างยิ่งสำหรับตัวนับและการสะสมยอด

var counts = {'a': 1};
counts.update('a', (v) => v + 1);

update พร้อมค่าเผื่อ

ส่ง ifAbsent ให้กับ update เพื่อให้คีย์ใหม่ได้รับค่าเริ่มต้น แทนที่จะเกิดข้อผิดพลาด

counts.update('z', (v) => v + 1,
  ifAbsent: () => 1);

ปรับรูปแบบด้วย map

วิธีการ map จะแปลงแต่ละรายการให้เป็นคู่ข้อมูลใหม่ และคืนแผนที่ชุดใหม่โดยไม่แตะต้องแผนที่เดิม

var doubled = m.map((k, v) =>
  MapEntry(k, v * 2));

ลำดับคือลำดับการแทรก

แผนที่เริ่มต้นจะจดจำลำดับที่คุณแทรกคีย์ ดังนั้นการวนซ้ำจะเข้าถึงคู่ข้อมูลตามลำดับที่เชื่อถือได้นั้น

ตรวจสอบอย่างรวดเร็ว

คุณสมบัติใดที่ให้ทั้งคีย์และค่าพร้อมกันในการวนซ้ำหนึ่งครั้ง

ทบทวน

ทำได้ดีมาก! วนซ้ำด้วย keys, values หรือ entries และเลือกใช้ putIfAbsent กับ update เพื่อจัดการคู่ข้อมูลอย่างชาญฉลาด 🎉

คำถามที่พบบ่อย

บทเรียน “วนซ้ำรายการ คีย์ และค่า” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “วนซ้ำรายการ คีย์ และค่า” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Dart Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “วนซ้ำรายการ คีย์ และค่า”

วนลูปในแมปและใช้ putIfAbsent คุณปฏิบัติ Dart Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Dart Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Dart Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “วนซ้ำรายการ คีย์ และค่า” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Dart Academy นี้ได้ไหม

ได้ บทเรียน Dart Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. เซตและความไม่ซ้ำที่รับประกัน
  2. การดำเนินการกับเซต: union, intersection, difference
  3. แมปในฐานะคลังเก็บคีย์-ค่า
  4. วนซ้ำรายการ คีย์ และค่า
← กลับไปที่ Dart Academy