JavaScript / التكرار

التكرار بجملة for

كرّر أوامر عددًا محددًا من المرات بجملة for، واستخدم العدّاد داخلها.

لطباعة كلمة عشر مرات يمكن نسخ السطر عشر مرات، لكن هذا متعب، وتعديله أصعب. جملة for تكتب الأمر مرة واحدة وتكرّره بالعدد الذي نحدده:

JavaScript
for (let i = 0; i < 3; i++) {
  console.log("Red lorry, yellow lorry");
}
وحدة التحكم
Red lorry, yellow lorry
Red lorry, yellow lorry
Red lorry, yellow lorry

بين القوسين ثلاثة أجزاء تفصلها فواصل منقوطة، وهي تتحكم في عدد المرات عن طريق متغير يُسمّى العدّاد:

الجزءفي المثالمعناه
البدايةlet i = 0العدّاد يبدأ من 0
الشرطi < 3يستمر التكرار ما دام الشرط صحيحًا
الزيادةi++يزيد العدّاد 1 بعد كل مرة

i++ اختصار لـ i = i + 1. والعدّاد متغير عادي، فيمكن طباعته لنرى قيمته في كل مرة:

JavaScript
for (let i = 0; i < 5; i++) {
  console.log(i);
}
وحدة التحكم
0
1
2
3
4

وللعدّ من 1 نجعل البداية 1 والشرط <=، ونربط العدّاد بالنص بـ +:

JavaScript
for (let lap = 1; lap <= 4; lap++) {
  console.log("Lap " + lap);
}
وحدة التحكم
Lap 1
Lap 2
Lap 3
Lap 4
إذا بدأ العدّاد من 0 مع i < 10 يتكرر 10 مرات. أما إذا بدأ من 1 مع i < 3 فيتكرر مرتين فقط (1 و 2). تأكد دائمًا من البداية والشرط معًا.

switch داخل for

في درس switch وزّعنا طالبًا واحدًا على مجموعة بباقي القسمة. الآن نكرر نفس الفحص لكل طلاب الفصل بحلقة واحدة:

JavaScript
for (let num = 1; num <= 8; num++) {
  switch (num % 4) {
    case 1:
      console.log("Student " + num + " is in Group A");
      break;
    case 2:
      console.log("Student " + num + " is in Group B");
      break;
    case 3:
      console.log("Student " + num + " is in Group C");
      break;
    case 0:
      console.log("Student " + num + " is in Group D");
      break;
  }
}
وحدة التحكم
Student 1 is in Group A
Student 2 is in Group B
Student 3 is in Group C
Student 4 is in Group D
Student 5 is in Group A
Student 6 is in Group B
Student 7 is in Group C
Student 8 is in Group D
العدّاد المُعلن بين قوسي for لا يوجد خارج الحلقة؛ استخدامه بعدها يسبب خطأ:
JavaScript
for (let i = 0; i < 2; i++) {
  console.log(i);
}
console.log(i);
وحدة التحكم
0
1
ReferenceError: i is not defined

تدريبات

1أكمل الفراغتدريب المنهج

أكمل ما بين القوسين ليُطبع silk عشر مرات، واسم العدّاد count يبدأ من 0.

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
for (___) {
  console.log("silk");
}
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
2اكتب البرنامجتدريب المنهج

اطبع Good morning سبع مرات بجملة for، والعدّاد i يبدأ من 0 مع i++.

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
3أكمل الفراغتدريب المنهج

أكمل الفراغين ليطبع البرنامج Hello ثلاث مرات (العدّاد i يبدأ من 0).

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
___ (___) {
  console.log("Hello");
}
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
4أكمل الفراغتدريب المنهج

نوزع الطلاب من 1 إلى 10 على ثلاث مجموعات حسب باقي قسمة i على 3. أكمل الفراغات.

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
___ (let i = 1; i <= 10; i++) {
  ___ (___) {
    case 0:
      console.log("Student " + i + " is in Group C");
      break;
    case 1:
      console.log("Student " + i + " is in Group A");
      break;
    case 2:
      console.log("Student " + i + " is in Group B");
      break;
  }
}
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
5اكتب البرنامجتدريب إضافي

امتحان فيه 5 أسئلة. اطبع Question 1 of 5 ثم Question 2 of 5 وهكذا حتى Question 5 of 5.

تلميحابدأ العدّاد من 1 واستخدم <=.
JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
6اكتب البرنامجتدريب إضافي

اطبع مضاعفات 5 من 5 إلى 50، كل رقم في سطر. اجعل الزيادة i = i + 5 بدل i++.

JavaScript Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.

النقاط الرئيسية

  • for (let i = 0; i < n; i++) { … } تكرر الأوامر n مرة.
  • i++ تعني i = i + 1، والعدّاد متغير يمكن طباعته واستخدامه.
  • العدّاد المُعلن في for لا يُستخدم خارج الحلقة.