الوحدة 5 · الدرس 3 من 419/32 في الدورة~10 min
دروس الوحدة (3/4)
كسر والاستمرار
كلمتان صغيرتان مفيدتان جدًا داخل الحلقة:
breakيخرج من الحلقة الأعمق على الفور.continueينتقل إلى التكرار التالي، دون تنفيذ بقية النص.
break: الخروج مبكرًا
نموذجي لـ "ابحث عن أول ما يلبي الشرط":
JS
function primoNegativo(nums) {
for (const n of nums) {
if (n < 0) return n; // o: result = n; break;
}
return undefined;
}
primoNegativo([3, 7, -2, 4, -9]); // -2مثال مع break صريح:
JS
let trovato = -1;
const nums = [10, 20, 30, 40, 50];
for (let i = 0; i < nums.length; i++) {
if (nums[i] === 30) {
trovato = i;
break;
}
}
trovato; // 2continue: انتقل إلى التالي
عندما لا يكون أحد العناصر مثيرًا للاهتمام ولكنك تريد الاستمرار في التكرار:
JS
function sommaPari(nums) {
let totale = 0;
for (const n of nums) {
if (n % 2 !== 0) continue; // salta i dispari
totale += n;
}
return totale;
}
sommaPari([1, 2, 3, 4, 5, 6]); // 12في كثير من الحالات، سيكون if (cond) { ... } مكافئًا؛ continue يساعد عندما يكون الجسم طويلاً
وتريد إبقاء التدفق مسطحًا (تداخل بسيط).
جربه
تمرين#js.m5.l3.e1
المحاولات: 0جارٍ التحميل…
حدد `firstGreater(nums, عتبة)` التي تُرجع العنصر الأول من الأعداد الأكبر بدقة من العتبة، أو غير محدد إذا لم يكن هناك شيء. استخدم الاستراحة (أو العودة الفورية).
جارٍ تحميل المحرر…
إظهار التلميح
العودة داخل for تعمل كفاصل + عودة في نفس الوقت.
الحل متاح بعد 3 من المحاولات
تمرين المراجعة
تمرين#js.m5.l3.e2
المحاولات: 0جارٍ التحميل…
حدد `sumSkippingZeros(nums)` الذي يجمع كل العناصر باستثناء الأصفار الدقيقة. استخدم الاستمرار.
جارٍ تحميل المحرر…
إظهار التلميح
إذا كان n === 0، تابع؛ وإلا تتراكم.
الحل متاح بعد 3 من المحاولات