JavaScript עבור כל אחד - כיצד לעבור דרך מערך ב- JS

שיטת JavaScript forEach היא אחת מכמה דרכים לעבור במערכים. לכל שיטה יש מאפיינים שונים, וזה תלוי בך, תלוי מה אתה עושה, להחליט באיזו שיטה להשתמש.

בפוסט זה אנו הולכים לבחון מקרוב את שיטת JavaScript forEach.

בהתחשב בכך שיש לנו את המערך הבא למטה:

const numbers = [1, 2, 3, 4, 5];

השימוש ב"לולאה "המסורתית כדי לעבור במערך יהיה כך:

for (i = 0; i < numbers.length; i++) { console.log(numbers[i]); } 

מה הופך את שיטת forEach () לשונה?

שיטת forEach משמשת גם לריצה במערכים, אך היא משתמשת בפונקציה באופן שונה מהקלאסי "לולאה".

שיטת forEach מעבירה פונקציית קריאה לכל אלמנט במערך יחד עם הפרמטרים הבאים:

  • ערך נוכחי (חובה) - הערך של אלמנט המערך הנוכחי
  • אינדקס (אופציונלי) - מספר האינדקס של האלמנט הנוכחי
  • מערך (אופציונלי) - אובייקט המערך אליו שייך האלמנט הנוכחי

תן לי להסביר את הפרמטרים האלה שלב אחר שלב.

ראשית, כדי לעבור על מערך באמצעות שיטת forEach, אתה זקוק לפונקציה להתקשרות חוזרת (או פונקציה אנונימית):

numbers.forEach(function() { // code });

הפונקציה תבוצע עבור כל אלמנט אחד במערך. עליו לקחת לפחות פרמטר אחד המייצג את האלמנטים של המערך:

numbers.forEach(function(number) { console.log(number); });

זה כל מה שאנחנו צריכים לעשות כדי לעבור דרך המערך:

לחלופין, אתה יכול להשתמש בייצוג פונקציית החץ ES6 לפשט את הקוד:

numbers.forEach(number => console.log(number));

פרמטרים אופציונליים

אינדקס

בסדר עכשיו בואו נמשיך עם הפרמטרים האופציונליים. הראשון הוא הפרמטר "אינדקס", המייצג את מספר האינדקס של כל אלמנט.

בעיקרון, אנו יכולים לראות את מספר האינדקס של אלמנט אם נכלול אותו כפרמטר שני:

numbers.forEach((number, index) => { console.log('Index: ' + index + ' Value: ' + number); });

מַעֲרָך

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

numbers.forEach((number, index, array) => { console.log(array); });

אתה יכול לראות את השימוש לדוגמא בשיטת forEach () בסרטון זה:

תמיכה בדפדפן

השיטה Array.forEach נתמכת בכל הדפדפנים המצפים ל- IE גרסה 8 ומעלה:

אם אתה רוצה ללמוד עוד על פיתוח אתרים, אל תהסס לבקר בערוץ היוטיוב שלי.

תודה שקראת!