פרק 7: לולאות (Loops) ב-JavaScript

1. מה זה לולאה?

לולאה (Loop) היא מבנה בתכנות שמאפשר לחזור על קטע קוד מספר פעמים עד שמתקיים תנאי מסוים. לולאות הן כלי חשוב ויעיל כאשר יש צורך לבצע פעולה שוב ושוב, כמו מעבר על מערך של פריטים, ספירה, או עבודה עם קלט מהמשתמש.

ב-JavaScript קיימות כמה לולאות עיקריות:

  1. for
  2. while
  3. do...while
  4. for...of
  5. for...in

2. לולאת for

לולאת for היא הנפוצה ביותר ב-JavaScript. היא בנויה משלושה חלקים:

  1. אתחול המשתנה.
  2. תנאי שממשיך את הלולאה כל עוד הוא מתקיים.
  3. שינוי המשתנה אחרי כל איטרציה (סיבוב) של הלולאה.

התחביר:

for (אתחול; תנאי; שינוי) {
    // קוד שיבוצע בכל סיבוב של הלולאה
}

דוגמה בסיסית:

for (let i = 0; i < 5; i++) {
    console.log("Iteration number:", i);
}

הסבר:

  • האתחול: let i = 0 – מתחילים מ-0.
  • התנאי: i < 5 – הלולאה תרוץ כל עוד i קטן מ-5.
  • השינוי: i++ – בכל סיבוב, נעלה את i ב-1.
  • הפלט יהיה:
Iteration number: 0
Iteration number: 1
Iteration number: 2
Iteration number: 3
Iteration number: 4

3. לולאת while

לולאת while פועלת כל עוד התנאי הנתון הוא true. התנאי נבדק לפני כל איטרציה (סיבוב) של הלולאה.

התחביר:

while (תנאי) {
    // קוד שיבוצע כל עוד התנאי נכון
}

דוגמה:

let i = 0;

while (i < 5) {
    console.log("Iteration number:", i);
    i++; // עלייה של i כדי למנוע לולאה אינסופית
}

הסבר:

  • הלולאה תמשיך לרוץ כל עוד i קטן מ-5.
  • אחרי כל סיבוב, נעלה את הערך של i ב-1, כך שבסופו של דבר התנאי לא יתקיים והלולאה תיפסק.

4. לולאת do...while

לולאת do...while דומה ללולאת while, אבל ההבדל הוא שבמקרה הזה, הלולאה מבצעת לפחות סיבוב אחד לפני שהיא בודקת את התנאי (כלומר, התנאי נבדק רק בסוף כל סיבוב).

התחביר:

do {
    // קוד שיבוצע לפחות פעם אחת
} while (תנאי);

דוגמה:

let i = 0;

do {
    console.log("Iteration number:", i);
    i++;
} while (i < 5);

הסבר:

  • הקוד בתוך הלולאה מתבצע לפחות פעם אחת, ורק אז התנאי נבדק.
  • הפלט יהיה זהה לולאת while, אבל כאן מובטח שנקבל לפחות איטרציה אחת גם אם התנאי מראש היה false.

5. לולאת for...of

לולאת for...of מיועדת למעבר על אוספים כמו מערכים או מחרוזות. היא פשוטה ונוחה לשימוש כשרוצים לעבור על כל אחד מהאלמנטים במערך.

התחביר:

for (let item of collection) {
    // קוד שיבוצע על כל פריט
}

דוגמה:

let fruits = ["Apple", "Banana", "Orange"];

for (let fruit of fruits) {
    console.log(fruit);
}

הסבר:

  • הלולאה עוברת על כל אחד מהפריטים במערך fruits.
  • הפלט יהיה:
Apple
Banana
Orange

6. לולאת for...in

לולאת for...in מיועדת למעבר על המפתחות (אינדקסים או שמות שדות) של אובייקטים או מערכים. היא שימושית במיוחד לעבודה עם אובייקטים.

התחביר:

for (let key in object) {
    // קוד שיבוצע על כל מפתח
}

דוגמה:

let person = {
    name: "Alice",
    age: 25,
    city: "New York"
};

for (let key in person) {
    console.log(key + ": " + person[key]);
}

הסבר:

  • הלולאה עוברת על כל אחד מהמפתחות של האובייקט person.
  • הפלט יהיה:
name: Alice
age: 25
city: New York

7. עצירה והמשך בתוך לולאות (break ו-continue)

  • break: מפסיק את הלולאה ומוציא אותך ממנה באופן מיידי.
  • continue: מדלג על האיטרציה הנוכחית וממשיך לאיטרציה הבאה.

דוגמה עם break:

for (let i = 0; i < 10; i++) {
    if (i === 5) {
        break; // מפסיק את הלולאה כאשר i שווה ל-5
    }
    console.log(i);
}

הסבר:

  • הלולאה תפסיק כשתגיע ל-i = 5.
  • הפלט יהיה:
0
1
2
3
4

דוגמה עם continue:

for (let i = 0; i < 10; i++) {
    if (i % 2 === 0) {
        continue; // מדלג על המספרים הזוגיים
    }
    console.log(i);
}

הסבר:

  • continue מדלגת על כל המספרים הזוגיים (שבהם התנאי i % 2 === 0 מתקיים).
  • הפלט יהיה:
1
3
5
7
9

8. דוגמה מלאה: שימוש בלולאות

בואו נבנה דוגמה שמשלבת שימוש בלולאות ובחישובים בסיסיים, לדוגמה סיכום המספרים במערך.

let numbers = [10, 20, 30, 40, 50];
let sum = 0;

for (let i = 0; i < numbers.length; i++) {
    sum += numbers[i]; // מחבר את כל המספרים במערך
}

console.log("The sum is:", sum); // מציג "The sum is: 150"

הסבר:

  • עברנו על כל המספרים במערך numbers בעזרת לולאת for.
  • בכל סיבוב הוספנו את המספר הנוכחי למשתנה sum שמכיל את הסכום.
  • הפלט הסופי הוא 150, שהוא הסכום של כל המספרים במערך.

9. סיכום מספרים באמצעות for...of

הנה אותה הדוגמה בעזרת for...of:

let numbers = [10, 20, 30, 40, 50];
let sum = 0;

for (let number of numbers) {
    sum += number;
}

console.log("The sum is:", sum); // מציג "The sum is: 150"

הסבר:

  • השימוש ב-for...of הופך את הקוד לפשוט יותר, כאשר אין צורך לעקוב אחרי אינדקסים, אלא פשוט לעבור על כל אלמנט במערך.

סיכום

בפרק זה למדנו על:

  1. לולאת for: השימוש הנפוץ ביותר לעבור על טווח של ערכים.
  2. לולאת while: לולאה שרצה כל עוד תנאי מסוים מתקיים.
  3. לולאת do...while: לולאה שרצה לפחות פעם אחת לפני בדיקת התנאי.
  4. לולאת for...of: לולאה נוחה למעבר על ערכי מערכים ואוספים.
  5. לולאת for...in: שנועדה לעבור על מפתחות של אובייקט.

Scroll to Top
דילוג לתוכן