Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

حلقة 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 بناء جملة أكثر بساطة للعديد من حالات الاستخدام الشائعة، خاصة عندما لا تحتاج إلى فهرس كل عنصر.

challenge icon

التحدي

سهل

اكتب دالة باسم countVowels تأخذ سلسلة نصية (string) كمعامل وتعيد عدد حروف العلة (a, e, i, o, u) في السلسلة النصية. استخدم حلقة for...of للتكرار عبر أحرف السلسلة النصية.

على سبيل المثال:

  • countVowels("hello") يجب أن تعيد 2
  • countVowels("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) {
    // اكتب الكود هنا
}
quiz iconاختبر نفسك

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

جميع دروس Fundamentals