Dart:
การใช้แอเรย์สมาชิก

วิธีการ:

Dart มีไวยากรณ์ที่ตรงไปตรงมาสำหรับการสร้างและจัดการ Maps ด้านล่างนี้เป็นตัวอย่างที่แสดงการดำเนินงานพื้นฐานเช่น การสร้าง, เพิ่มองค์ประกอบ และการเรียกค่า

void main() {
  // สร้างแมพ
  var fruitColors = {
    'apple': 'red',
    'banana': 'yellow',
    'grape': 'purple'
  };

  // เพิ่มคู่คีย์-ค่าใหม่
  fruitColors['orange'] = 'orange';

  // เข้าถึงค่าด้วยคีย์ของมัน
  print(fruitColors['apple']); // ผลลัพธ์: red

  // อัพเดทค่า
  fruitColors['banana'] = 'green';

  // ท่องผ่าน Map
  fruitColors.forEach((fruit, color) {
    print('$fruit: $color');
  });
  // ตัวอย่างผลลัพธ์:
  // apple: red
  // banana: green
  // grape: purple
  // orange: orange
}

สำหรับโครงสร้างข้อมูลที่ซับซ้อนหรือการขยายฟังก์ชันการทำงาน เจ้าของโปรแกรม Dart มักพึ่งพาไลบรารีเพิ่มเติม หนึ่งในไลบรารีเหล่านี้คือ collection ซึ่งให้ประเภทการรวบรวมขั้นสูงและยูทิลิตี้ ถึงแม้ว่า collection จะไม่เปลี่ยนวิธีการที่ Maps ถูกจัดการอย่างพื้นฐาน แต่มันเพิ่มคุณสมบัติเรืองน้ำหนักโดยฟังก์ชันยูทิลิตี้และประเภทการรวมข้อมูลที่ซับซ้อนยิ่งขึ้น นี่คือวิธีที่คุณอาจใช้มันสำหรับงานเฉพาะเจาะจงเช่น การเรียงลำดับ Map ตามค่าของมัน:

ก่อนอื่น, ตรวจสอบให้แน่ใจว่าแพคเกจ collection ถูกรวมอยู่ในไฟล์ pubspec.yaml ของคุณ:

dependencies:
  collection: ^1.15.0

จากนั้น, คุณสามารถใช้งานได้ดังนี้:

import 'package:collection/collection.dart';

void main() {
  var fruitColors = {
    'apple': 'red',
    'banana': 'yellow',
    'grape': 'purple',
    'orange': 'orange'
  };

  // การเรียงลำดับ Map ตามค่า (สี) ของมัน
  var sortedFruitsByColor = SplayTreeMap.from(
    fruitColors,
    (key1, key2) => fruitColors[key1]!.compareTo(fruitColors[key2]!)
  );

  print(sortedFruitsByColor);
  // ผลลัพธ์:
  // {orange: orange, apple: red, banana: yellow, grape: purple}
}

ตัวอย่างนี้แสดงการเรียงลำดับรายการของ Map ตามค่าของมัน แสดงให้เห็นว่า Dart และระบบนิเวศที่มีชีวิตชีวาของมันสามารถจัดการ associative arrays สำหรับการจัดการข้อมูลที่ซับซ้อนยิ่งขึ้นได้อย่างคล่องแคล่ว