JavaScript:
שימוש במערכים אסוציאטיביים
איך לעשות:
יצירה ושימוש במערכים אסוציאטיביים (אובייקטים) ב-JavaScript היא פשוטה. אתה מגדיר אובייקט באמצעות סוגריים מסולסלים {}
, ובתוך אלה, אתה יכול להגדיר ערכת זוגות מפתח-ערך. מפתחות הם תמיד מחרוזות, והערכים יכולים להיות כל דבר: מחרוזות, מספרים, מערכים, אפילו אובייקטים אחרים.
// יצירת מערך אסוציאטיבי
let userInfo = {
name: "Alex",
age: 30,
email: "[email protected]"
};
// גישה לאלמנטים
console.log(userInfo.name); // פלט: Alex
console.log(userInfo["email"]); // פלט: [email protected]
// הוספת אלמנטים חדשים
userInfo.job = "Developer";
userInfo["country"] = "Canada";
console.log(userInfo);
/* פלט:
{
name: "Alex",
age: 30,
email: "[email protected]",
job: "Developer",
country: "Canada"
}
*/
// מחיקת אלמנט
delete userInfo.age;
console.log(userInfo);
/* פלט:
{
name: "Alex",
email: "[email protected]",
job: "Developer",
country: "Canada"
}
*/
כפי שאתה רואה, הגישה, ההוספה, או המחיקה של אלמנטים במערך אסוציאטיבי היא ישירה ואינטואיטיבית.
עיון עמוק
בעולם ה-JavaScript, למרות שאנו לעיתים קרובות שומעים את המונח “מערך אסוציאטיבי,” זהו בעצם מונח שגוי מכיוון שב-JavaScript אין מערכים אסוציאטיביים אמיתיים כמו בשפות אחרות (למשל, PHP). מה שיש ב-JavaScript הם אובייקטים שמבצעים תפקיד דומה אך הם מבנה יותר חזק וגמיש.
בהיסטוריה, מערכים בשפות תכנות עוצבו לשמירת אוסף של פריטים, שנגשים אליהם באמצעות אינדקס מספרי. עם זאת, ככל שפיתוח התוכנה התפתח, צמחה הצורך במבני נתונים גמישים יותר. מערכים אסוציאטיביים, או מילונים בשפות אחרות, היו אחת התגובות, והם מאפשרים גישה לאלמנטים דרך מפתחות שרירותיים.
הגישה של JavaScript עם אובייקטים כחנויות מפתח-ערך מציעה שילוב של פונקציונליות. היא מאפשרת להוסיף, להסיר ולחפש תכונות (מפתחות) לפי שם. JSON (JavaScript Object Notation) הוא עדות לשימושיות של מבנה זה, והוא הפך לתקן הדה-פקטו להחלפת נתונים ברשת.
למרות שאובייקטים מספקים את רוב הצרכים למערכים אסוציאטיביים, במקרים שבהם סדר המפתחות או האיטרציה חשובים, האובייקט Map
שהוצג ב-ES6 מספק אלטרנטיבה טובה יותר. Map
שומר על סדר המפתחות, מקבל מגוון רחב יותר של סוגי נתונים כמפתחות, וכולל שיטות שימושיות לאיטרציה ולאחזור על גודל. למרות היתרונות הללו, תחביר האובייקט המסורתי נשאר פופולרי בזכות פשטותו ונוחות השימוש שלו בסצנריות רבות ונפוצות.