Kodax

الحلقات التكرارية — JavaScript الأساسيات

الحلقات التكرارية

الحلقات تسمح بتنفيذ كود معين عدة مرات بدون تكراره يدوياً.

حلقة for

// الهيكل: for (البداية; الشرط; التحديث)
for (let i = 0; i < 5; i++) {
  console.log(`العدد: ${i}`);
}
// 0, 1, 2, 3, 4

// العد التنازلي
for (let i = 10; i > 0; i--) {
  console.log(i);
}
console.log("انطلق! 🚀");

// القفز
for (let i = 0; i < 20; i += 5) {
  console.log(i); // 0, 5, 10, 15
}

حلقة while

let count = 0;

while (count < 5) {
  console.log(`العدد: ${count}`);
  count++;
}

// مثال: لعبة تخمين
let secretNumber = 7;
let guess = 0;

while (guess !== secretNumber) {
  guess = parseInt(prompt("خمن الرقم (1-10):"));
  if (guess < secretNumber) {
    console.log("أكبر!");
  } else if (guess > secretNumber) {
    console.log("أصغر!");
  }
}
console.log("صحيح! 🎉");

حلقة do...while

// تُنفذ مرة واحدة على الأقل
let input;
do {
  input = prompt("أدخل رقماً موجباً:");
} while (input <= 0);

console.log(`أدخلت: ${input}`);

for...of (للمصفوفات)

let fruits = ["تفاح", "موز", "برتقال"];

for (let fruit of fruits) {
  console.log(fruit);
}
// تفاح
// موز
// برتقال

// مع النصوص
let text = "مرحباً";
for (let char of text) {
  console.log(char);
}

for...in (للكائنات)

let person = {
  name: "أحمد",
  age: 25,
  city: "بغداد"
};

for (let key in person) {
  console.log(`${key}: ${person[key]}`);
}
// name: أحمد
// age: 25
// city: بغداد

التحكم في الحلقات

break - إيقاف الحلقة

for (let i = 0; i < 10; i++) {
  if (i === 5) {
    break; // توقف عند 5
  }
  console.log(i);
}
// 0, 1, 2, 3, 4

continue - تخطي دورة

for (let i = 0; i < 5; i++) {
  if (i === 2) {
    continue; // تخطى 2
  }
  console.log(i);
}
// 0, 1, 3, 4

الحلقات المتداخلة

// جدول الضرب
for (let i = 1; i <= 3; i++) {
  for (let j = 1; j <= 3; j++) {
    console.log(`${i} × ${j} = ${i * j}`);
  }
  console.log("---");
}

// رسم مثلث
for (let i = 1; i <= 5; i++) {
  let stars = "";
  for (let j = 0; j < i; j++) {
    stars += "⭐";
  }
  console.log(stars);
}
// ⭐
// ⭐⭐
// ⭐⭐⭐
// ⭐⭐⭐⭐
// ⭐⭐⭐⭐⭐

أمثلة عملية

// مجموع الأرقام من 1 إلى 100
let sum = 0;
for (let i = 1; i <= 100; i++) {
  sum += i;
}
console.log(`المجموع: ${sum}`); // 5050

// البحث في مصفوفة
let numbers = [10, 25, 30, 45, 50];
let target = 30;

for (let i = 0; i < numbers.length; i++) {
  if (numbers[i] === target) {
    console.log(`وجدت ${target} في الموقع ${i}`);
    break;
  }
}

// فلترة الأرقام الزوجية
let nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let evens = [];

for (let num of nums) {
  if (num % 2 === 0) {
    evens.push(num);
  }
}
console.log(evens); // [2, 4, 6, 8, 10]
// حلقة for أساسية
for (let i = 1; i <= 5; i++) {
  console.log(`الرقم: ${i}`);
}

// for...of مع مصفوفة
let colors = ["أحمر", "أخضر", "أزرق"];
for (let color of colors) {
  console.log(color);
}

// مثال: مجموع مصفوفة
let numbers = [10, 20, 30, 40];
let total = 0;
for (let num of numbers) {
  total += num;
}
console.log("المجموع:", total);
اختبر فهمك