حلقة for...of
جزء من قسم Fundamentals في رحلة JavaScript على Coddy — الدرس 65 من 77.
توفر حلقة for...of طريقة بسيطة للتكرار عبر قيم الكائنات القابلة للتكرار (iterable objects)، مثل المصفوفات، والسلاسل النصية، والخرائط، والمجموعات، وغيرها. فهي تجمع بين إيجاز forEach والقدرة على استخدام break و continue.
إليك الصيغة الأساسية لحلقة for...of:
for (const element of iterable) {
// الكود الذي سيتم تنفيذه لكل عنصر
}element: في كل تكرار، يتم تعيين القيمة التالية من الكائن القابل للتكرار (iterable) لهذا المتغير.iterable: الكائن الذي يتم تكرار عناصره (على سبيل المثال، مصفوفة أو سلسلة نصية).
إليك مثال باستخدام مصفوفة:
const fruits = ["apple", "banana", "orange"];
for (const fruit of fruits) {
console.log(fruit);
}المخرجات:
apple
banana
orangeإليك مثال آخر مع سلسلة نصية:
const text = "hello";
for (const char of text) {
console.log(char);
}الناتج:
h
e
l
l
oبالمقارنة مع حلقات for التقليدية أو طريقة forEach، يوفر for...of بناء جملة أكثر بساطة للعديد من حالات الاستخدام الشائعة، خاصة عندما لا تحتاج إلى فهرس كل عنصر.
التحدي
سهلاكتب دالة باسم countVowels تأخذ سلسلة نصية (string) كمعامل وتعيد عدد حروف العلة (a, e, i, o, u) في السلسلة النصية. استخدم حلقة for...of للتكرار عبر أحرف السلسلة النصية.
على سبيل المثال:
countVowels("hello")يجب أن تعيد 2countVowels("javascript")يجب أن تعيد 3
قم بعدّ الحروف الكبيرة أيضاً!
ورقة مرجعية
توفر حلقة for...of طريقة بسيطة للتكرار عبر قيم الكائنات القابلة للتكرار مثل المصفوفات والسلاسل النصية. فهي تجمع بين إيجاز forEach والقدرة على استخدام break و continue.
الصيغة الأساسية:
for (const element of iterable) {
// الكود الذي سيتم تنفيذه لكل عنصر
}مثال مع مصفوفة:
const fruits = ["apple", "banana", "orange"];
for (const fruit of fruits) {
console.log(fruit);
}مثال مع سلسلة نصية:
const text = "hello";
for (const char of text) {
console.log(char);
}جرّب بنفسك
function countVowels(str) {
// اكتب الكود هنا
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
2المتغيرات
الأرقامString (النصوص)Boolean (القيم المنطقية)قواعد التسميةالمتغيرات الفارغةمراجعة - تهيئة المتغيراتالثوابت8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Continueمراجعة - Factorialحلقة Do Whileالحلقات المتداخلة3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةالمساواة الصارمة مقابل العاديةمراجعة - العمليات الحسابية البسيطة6أساسيات الإدخال والإخراج (IO)
الإخراجالإخراج باستخدام المتغيراتتحويل أنواع البيانات - الجزء الأولتحويل أنواع البيانات - الجزء الثانيمراجعة - حتى 120مراجعة - صح أم خطأ9الدوال
تعريف دالةالوسائطالإرجاعمراجعة - دالة Sigmaتعبير الدالةالمعاملات الافتراضيةدوال السهممراجعة - دالة Validation12المصفوفات - الجزء الثاني
التكرار عبر المصفوفاتدالة forEachحلقة for...ofمراجعة - عداد Pتقطيع المصفوفاتدوال المصفوفات - الجزء الثالثدوال المصفوفات - الجزء الرابعاختبار العضوية