8.4 KiB
יסודות JavaScript: מערכים ולולאות
איור מאת Tomomi Imura
חידון לפני השיעור
השיעור הזה עוסק ביסודות של JavaScript, השפה שמוסיפה אינטראקטיביות לאינטרנט. בשיעור זה תלמדו על מערכים ולולאות, המשמשים לעיבוד נתונים.
🎥 לחצו על התמונות למעלה לצפייה בסרטונים על מערכים ולולאות.
ניתן ללמוד את השיעור הזה גם ב-Microsoft Learn!
מערכים
עבודה עם נתונים היא משימה נפוצה בכל שפה, והיא הופכת לקלה יותר כאשר הנתונים מאורגנים במבנה כמו מערכים. במערכים, הנתונים נשמרים במבנה דמוי רשימה. אחד היתרונות הגדולים של מערכים הוא שניתן לשמור בהם סוגי נתונים שונים.
✅ מערכים נמצאים סביבנו כל הזמן! האם תוכלו לחשוב על דוגמה מהחיים האמיתיים למערך, כמו מערך של לוחות סולאריים?
התחביר של מערך הוא זוג סוגריים מרובעים.
let myArray = [];
זהו מערך ריק, אך ניתן להכריז על מערכים שכבר מכילים נתונים. ערכים מרובים במערך מופרדים באמצעות פסיק.
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"];
לערכי המערך מוקצה ערך ייחודי שנקרא אינדקס, מספר שלם שמוקצה לפי המרחק שלו מתחילת המערך. בדוגמה למעלה, למחרוזת "Chocolate" יש אינדקס 0, ולאינדקס של "Rocky Road" יש ערך 4. ניתן להשתמש באינדקס עם סוגריים מרובעים כדי לשלוף, לשנות או להוסיף ערכים למערך.
✅ האם מפתיע אתכם שמערכים מתחילים באינדקס אפס? בשפות תכנות מסוימות, אינדקסים מתחילים ב-1. יש לכך היסטוריה מעניינת, עליה תוכלו לקרוא בוויקיפדיה.
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"];
iceCreamFlavors[2]; //"Vanilla"
ניתן להשתמש באינדקס כדי לשנות ערך, כך:
iceCreamFlavors[4] = "Butter Pecan"; //Changed "Rocky Road" to "Butter Pecan"
ואפשר להוסיף ערך חדש באינדקס מסוים כך:
iceCreamFlavors[5] = "Cookie Dough"; //Added "Cookie Dough"
✅ דרך נפוצה יותר להוסיף ערכים למערך היא באמצעות אופרטורים כמו array.push()
כדי לגלות כמה פריטים יש במערך, השתמשו במאפיין length
.
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"];
iceCreamFlavors.length; //5
✅ נסו בעצמכם! השתמשו בקונסול של הדפדפן כדי ליצור ולשנות מערך משלכם.
לולאות
לולאות מאפשרות לנו לבצע משימות חוזרות או איטרטיביות, ויכולות לחסוך הרבה זמן וקוד. כל איטרציה יכולה להשתנות במשתנים, ערכים ותנאים. ישנם סוגים שונים של לולאות ב-JavaScript, ולכולן הבדלים קטנים, אך ביסודו של דבר הן עושות את אותו הדבר: עוברות על נתונים.
לולאת For
לולאת for
דורשת 3 חלקים כדי לבצע איטרציה:
counter
משתנה שמתחיל בדרך כלל במספר שסופר את מספר האיטרציותcondition
ביטוי שמשתמש באופרטורים להשוואה כדי לגרום ללולאה להפסיק כאשר הואfalse
iteration-expression
רץ בסוף כל איטרציה, ומשמש בדרך כלל לשינוי ערך ה-counter
// Counting up to 10
for (let i = 0; i < 10; i++) {
console.log(i);
}
✅ הריצו את הקוד הזה בקונסול של הדפדפן. מה קורה כשאתם מבצעים שינויים קטנים ב-counter, בתנאי או בביטוי האיטרציה? האם תוכלו לגרום ללולאה לרוץ אחורה, וליצור ספירה לאחור?
לולאת While
בניגוד לתחביר של לולאת for
, לולאות while
דורשות רק תנאי שיגרום ללולאה להפסיק כאשר התנאי הופך ל-false
. תנאים בלולאות בדרך כלל תלויים בערכים אחרים כמו counters, ויש לנהל אותם במהלך הלולאה. ערכי התחלה ל-counters חייבים להיווצר מחוץ ללולאה, וכל ביטוי שעונה על תנאי, כולל שינוי ה-counter, חייב להתבצע בתוך הלולאה.
//Counting up to 10
let i = 0;
while (i < 10) {
console.log(i);
i++;
}
✅ מדוע תבחרו בלולאת for לעומת לולאת while? 17,000 צופים שאלו את אותה שאלה ב-StackOverflow, וחלק מהדעות עשויות לעניין אתכם.
לולאות ומערכים
מערכים משמשים לעיתים קרובות עם לולאות מכיוון שרוב התנאים דורשים את אורך המערך כדי להפסיק את הלולאה, והאינדקס יכול לשמש גם כערך ה-counter.
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"];
for (let i = 0; i < iceCreamFlavors.length; i++) {
console.log(iceCreamFlavors[i]);
} //Ends when all flavors are printed
✅ נסו להתנסות בלולאה על מערך משלכם בקונסול של הדפדפן.
🚀 אתגר
ישנן דרכים נוספות לעבור על מערכים מלבד לולאות for ו-while. ישנן forEach, for-of, ו-map. שכתבו את הלולאה שלכם על מערך באמצעות אחת מהשיטות הללו.
חידון אחרי השיעור
חזרה ולימוד עצמי
למערכים ב-JavaScript יש הרבה שיטות שימושיות לעיבוד נתונים. קראו על השיטות הללו ונסו כמה מהן (כמו push, pop, slice ו-splice) על מערך משלכם.
משימה
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.