البحث في 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.
التحدي
سهليعرض المتجر عناصره، لكن لا يعرض أسعارها. اعرض الأسعار وأضف عنصرًا آخر إلى المخزون:
- اعرض سعر كل عنصر في نهاية صفه، مثل
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),
),
],
),
),
);
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس القوائم والشاشات
1قوائم قابلة للتمرير
قائمة قابلة للتمريرعناصر القائمةالبداية والنهايةاضغط على عنصر قائمةفواصل بين الصفوف6علامات التبويب والأدراج والتمرير بالسحب
علامات التبويب مع شريط تنقلأيقونات ممتلئة لعلامة التبويب المفتوحةدرج جانبياسحب للحذفالتراجع عن السحبتدرّب بنفسك: مترجم Flutter عبر الإنترنت