التكرار عبر العناصر
جزء من قسم الأساسيات في رحلة Swift على Coddy. الدرس 69 من 86.
والآن بعد أن عرفت كيفية إنشاء المصفوفات وتعديلها، لنستكشف كيفية معالجة كل عنصر على حدة. تجعل حلقة for-in هذه العملية سهلة للغاية.
عندما تستخدم حلقة for-in مع مصفوفة، تمنحك Swift كل عنصر تلقائيًا بالترتيب:
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
// Apple
// Banana
// Cherryتأخذ المتغير fruit كل قيمة من المصفوفة في كل تكرار. يمكنك تسمية هذا المتغير بأي اسم يناسب بياناتك.
هذا النمط مثالي لإجراء العمليات على كل عنصر، مثل حساب المجموع:
let prices = [9.75, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.5يمكنك أيضًا استخدام الحلقة لإنشاء مصفوفات جديدة استنادًا إلى مصفوفات موجودة:
let numbers = [1, 2, 3, 4]
var doubled = [Int]()
for number in numbers {
doubled.append(number * 2)
}
print(doubled) // [2, 4, 6, 8]يُعدّ التكرار على عناصر المصفوفات من أكثر العمليات شيوعًا في البرمجة، لذا فإن إتقان هذا النمط سيكون مفيدًا لك.
التحدي
سهلاكتب دالة countPositives تأخذ numbers وتُرجع عدد الأعداد الموجبة في المصفوفة.
استخدم حلقة for-in للتكرار على كل عنصر وعدّ العناصر التي تكون أكبر من الصفر.
المعاملات:
numbers([Int]): مصفوفة من الأعداد الصحيحة
القيمة المُعادة: عدد الأعداد الموجبة (الأكبر من 0) في المصفوفة (Int)
مثال: إذا كانت numbers هي [-3, 5, 0, 8, -1, 12]، فينبغي أن تُرجع الدالة 3 (الأعداد الموجبة هي 5 و8 و12).
جرّب بنفسك
func countPositives(numbers: [Int]) -> Int {
// اكتب الكود هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالإسناد المركبمراجعة - عمليات رياضية بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
دالة الطباعةتضمين النصوصإدخال ReadLineتحويل الأنواعمراجعة - حتى 120مراجعة - True أو False10الدوال
تعريف دالةالمعاملات والوسائطقيم الإرجاعتسميات الوسائطمراجعة - دالة Sigmaمراجعة - دالة Validationالقيم الافتراضية13التكرار عبر المتسلسلات
التكرار عبر العناصرطريقة التعداد (enumerate)التكرار عبر النصوص - الجزء الأولالتكرار عبر النصوص - الجزء الثاني2المتغيرات
Let مقابل Varتوصيف الأنواع (Type Annotations)الأرقامStringBooleanقواعد التسميةمراجعة - تهيئة المتغيرات5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعامل الثلاثي (Ternary Operator)8حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات3القيم الاختيارية (Optionals)
ما هي القيم الاختياريةفك القيم باستخدام If Letاستخدام Guard Letمعامل دمج Nilمراجعة - فك القيم بأمان9حلقات التكرار
حلقة For-Inحلقة Whileحلقة Repeat-WhileBreakContinueمراجعة - المضروب (Factorial)النطاقات في حلقات التكرارالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)تدرّب بنفسك: Playground لـ Swift