0Pricing
Swift Academy · درس

تكرار القواميس وتحويلها

استخدم mapValues وfilter وmerge وجمّع البيانات باستخدام القواميس

تكرار القواميس وتحويلها درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 4 دروس في المجموع.

مرحبًا

القواميس أنواع `Sequence` كاملة. وهي تدعم `for-in` و`map` و`filter` و`reduce` وغيرها، ما يمنحكم مجموعة أدوات وظيفية لمعالجة البيانات المعتمدة على المفاتيح.

التكرار باستخدام for-in

```swift let prices = ["apple":1.5,"banana":0.8] for (fruit, price) in prices { print("\(fruit): $\(price)") } ``` الترتيب غير مضمون؛ استخدموا `prices.sorted { $0.key < $1.key }` للحصول على ترتيب حتمي.

mapValues

```swift let scores = ["Alice":80,"Bob":90] let doubled = scores.mapValues { $0 * 2 } // ["Alice":160,"Bob":180] ``` تحافظ `mapValues` على المفاتيح كما هي، وتحول القيم فقط.

استخدام filter مع القواميس

```swift let d = ["a":1,"b":5,"c":3] let big = d.filter { $0.value > 2 } // ["b":5,"c":3] ```

التجميع باستخدام Dictionary(grouping:by:)

```swift let words = ["apple","ant","ball","banana"] let grouped = Dictionary(grouping: words) { $0.first! } // ["a":["apple","ant"],"b":["ball","banana"]] ``` هذا نمط مفيد جدًا لتصنيف البيانات.

الاختزال إلى Dictionary

```swift let nums = [1,2,3,4,5] let freq = nums.reduce(into: [Int:Int]()) { $0[$1, default:0] += 1 } // [1:1,2:1,3:1,4:1,5:1] ```

التكرار على المفاتيح المرتبة

```swift let d = ["c":3,"a":1,"b":2] for key in d.keys.sorted() { print("\(key): \(d[key]!)") } // a:1, b:2, c:3 ```

compactMapValues

```swift let raw = ["a":"1","b":"two","c":"3"] let nums = raw.compactMapValues { Int($0) } // ["a":1,"c":3] — "b" dropped ``` تحوّل القيم وتزيل الإدخالات التي تُرجع عملية تحويلها nil.

الاختزال إلى قيمة واحدة

```swift let sales = ["Q1":1000,"Q2":1200,"Q3":800] let total = sales.values.reduce(0, +) // 3000 let max = sales.values.max()! // 1200 ```

إنشاء Dictionary من مصفوفتين

```swift let keys = ["a","b","c"] let vals = [1, 2, 3] let d = Dictionary(uniqueKeysWithValues: zip(keys, vals)) // ["a":1,"b":2,"c":3] ```

اختبار سريع

ما الطريقة التي تحوّل قيم القاموس مع إبقاء المفاتيح كما هي؟

مراجعة

أهم النقاط: • `for (k,v) in dict` — التكرار؛ رتّبوا المفاتيح للحصول على ترتيب حتمي • `mapValues` — تحويل القيم مع إبقاء المفاتيح • `filter` — يعيد قاموسًا جديدًا بالأزواج المطابقة • `Dictionary(grouping:by:)` — مُهيّئ قوي للتجميع • `compactMapValues` — تحويل القيم وإزالة nil التالي: عمليات Set.

الأسئلة الشائعة

هل درس «تكرار القواميس وتحويلها» مجاني؟

نعم — نص درس «تكرار القواميس وتحويلها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 4 دروس في المجموع.

ماذا ستتعلم في «تكرار القواميس وتحويلها»؟

استخدم mapValues وfilter وmerge وجمّع البيانات باستخدام القواميس تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟

لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «تكرار القواميس وتحويلها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟

نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عمليات CRUD على القواميس والوصول عبر Subscript
  2. تكرار القواميس وتحويلها
  3. عمليات Set: الاتحاد والتقاطع والفرق
  4. الاختيار بين Array وDictionary وSet
← العودة إلى Swift Academy