מיפוי
שיעור 13 מתוך 18 בקורס מתודות למערכים ב-JavaScript של Coddy.
map() היא מתודה מובנית למערכים שפועלת כמו מכונת טרנספורמציה. היא עוברת על כל איבר במערך ומחילה על כל איבר פונקציה שהגדרת (פונקציית callback). הפונקציה הזו יכולה לשנות, להתמיר או ליצור משהו חדש לחלוטין על סמך האיבר המקורי. התוצאה של הטרנספורמציות האלה משמשת לאחר מכן למילוי מערך חדש לגמרי.
נניח שיש לך רשימה של מחירי מוצרים (מספרים), ואתה רוצה ליצור רשימה חדשה המציגה מחירים לאחר הנחה (איברים שעברו טרנספורמציה). כך map() נכנסת לתמונה:
const prices = [10, 15, 20, 25];
// פונקציית callback להחלת הנחה של 10%
const discountedPrices = prices.map(price => price * 0.9);
console.log(discountedPrices); // פלט: [9, 13.5, 18, 22.5]בדוגמה שלמעלה, נעשה שימוש ב־map() כדי ליצור מערך חדש discountedPrices שמכיל מחירים לאחר הנחה של 10%. המתודה map() עוברת על prices ומחילה את חישוב ההנחה (price * 0.9) על כל איבר, וכך מתקבלים המחירים לאחר ההנחה במערך החדש.
אתגר
קלניתן לך מערך inventory של מספרים שמייצגים את הכמויות של הפריטים במלאי.
המשימה שלך היא לכתוב קוד JavaScript שיוצר רשימה חדשה המציגה את הכמות של כל פריט כשהיא מוכפלת, ואז מדפיס את הרשימה המעודכנת.
נסו בעצמכם
const inventory = [5, 3, 2, 1];
// כתבו כאן קודכל השיעורים ביחידה מתודות למערכים ב-JavaScript
תרגלו בעצמכם: קומפיילר JavaScript אונליין