الحلقات التكرارية — 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, 4continue - تخطي دورة
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);اختبر فهمك