1. מה זה לולאה?
לולאה (Loop) היא מבנה בתכנות שמאפשר לחזור על קטע קוד מספר פעמים עד שמתקיים תנאי מסוים. לולאות הן כלי חשוב ויעיל כאשר יש צורך לבצע פעולה שוב ושוב, כמו מעבר על מערך של פריטים, ספירה, או עבודה עם קלט מהמשתמש.
ב-JavaScript קיימות כמה לולאות עיקריות:
for
while
do...while
for...of
for...in
2. לולאת for
לולאת for
היא הנפוצה ביותר ב-JavaScript. היא בנויה משלושה חלקים:
- אתחול המשתנה.
- תנאי שממשיך את הלולאה כל עוד הוא מתקיים.
- שינוי המשתנה אחרי כל איטרציה (סיבוב) של הלולאה.
התחביר:
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
הופך את הקוד לפשוט יותר, כאשר אין צורך לעקוב אחרי אינדקסים, אלא פשוט לעבור על כל אלמנט במערך.
סיכום
בפרק זה למדנו על:
- לולאת
for
: השימוש הנפוץ ביותר לעבור על טווח של ערכים. - לולאת
while
: לולאה שרצה כל עוד תנאי מסוים מתקיים. - לולאת
do...while
: לולאה שרצה לפחות פעם אחת לפני בדיקת התנאי. - לולאת
for...of
: לולאה נוחה למעבר על ערכי מערכים ואוספים. - לולאת
for...in
: שנועדה לעבור על מפתחות של אובייקט.