Menu
CoddyTech
flag Ar iconالعربيةdown icon

البحث في Map

جزء من قسم القوائم والشاشات في رحلة Flutter على Coddy. الدرس 17 من 33.

يخزّن Map أزواجًا: مفتاحًا تبحث عنه، وقيمة مرتبطة به، مثل كلمة ومعناها في قاموس. هنا لكل عنصر في متجر اللعبة سعر:

Map<String, int> prices = {
  'Sword': 120,
  'Potion': 25,
};

prices['Sword']   // 120
prices['Axe']     // null: لا يوجد Axe

يشير Map<String, int> إلى أن المفاتيح سلاسل نصية والقيم أعداد صحيحة. ابحث عن قيمة باستخدام مفتاحها بين قوسين مربعين. إذا لم يكن المفتاح موجودًا في الخريطة، فستكون النتيجة null.

أضف زوجًا باستخدام prices['Bow'] = 150;، أو اكتب الزوج داخل الخريطة. تحتوي prices.keys على جميع المفاتيح بترتيب إضافتها، وهي جاهزة للاستخدام مع حلقة for.

challenge icon

التحدي

سهل

يعرض المتجر عناصره، لكن لا يعرض أسعارها. اعرض الأسعار وأضف عنصرًا آخر إلى المخزون:

  • اعرض سعر كل عنصر في نهاية صفه، مثل 120 coins، بالبحث عنه في prices
  • أضف Bow مقابل 150 قطعة نقدية إلى الخريطة

جرّب بنفسك

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    final Map<String, int> prices = {
      'Sword': 120,
      'Shield': 90,
      'Potion': 25,
    };
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(title: const Text('Shop')),
        body: ListView(
          children: [
            for (String item in prices.keys)
              ListTile(
                title: Text(item),
              ),
          ],
        ),
      ),
    );
  }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس القوائم والشاشات

تدرّب بنفسك: مترجم Flutter عبر الإنترنت