מערכים ב JavaScript - יצירה ואתחול של מערך

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

 

יצירת מערך ב JavaScript

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

var MyArray = [];
var MyArray = new Array();

האפשרות הראשונה יוצרת מערך באמצעות initializer והשניה באמצעות constructor. יש מספר הבדלים ביניהם אך זהו נושא לפוסט אחר.

אני נוטה להשתמש באפשרות הראשונה אך כל אחד יכול להשתמש באפשרות שיותר נוחה לו.

 

למרות שגודל המערך ב-JavaScript ניתן לשינוי בכל עת אפשר גם להגדיר אותו מראש בגודל שאנחנו רוצים. לדוגמא, יצירת מערך בגודל 5 נעשה כך:

var MyArray = new Array(5);

 

אתחול מערך עם נתונים

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

דוגמאות ליצירת מערך עם ערכים:

var myArray1 = ['value1', 'value2', 'value3'];
var myArray2 = new Array('value1', 'value2', 'value3');

var myArray3 = ['4'];
var myArray4 = new Array('4');

var myArray5 = [4];
var myArray6 = new Array(4);     //שימו לב! שורה זו לא תיצור מערך עם הערך 4

הערה לגבי הדוגמאות האחרונות: כל המערכים שיצרנו חוץ מ-myArray6 יצרו מערך בגודל הערכים שהגדרנו לו.

כלומר, המערכים myArray1 ו-myArray2 יהיו בגודל שלוש עם הערכים שהגדרנו להם. המערכים myArray3 ו-myArray4 יהיו בגודל אחד עם הערך היחיד שהוגדר להם וכך גם myArray5. אך ההבדל הוא myArray6 שבו לא יווצר מערך בגודל 1 עם הערך 4 (בדומה למערכים myArray3 - myArray5) אלא יווצר מערך בגודל 4 ללא ערכים.

 

הוספה ועדכון של ערכים במערך

שינוי הערכים במערך קיים נעשה כך:

myArray[5] = "my new value";

 

כאשר המספר 5 הוא המיקום במערך (חשוב לזכור שהמקום הראשון במערך הוא 0 ולא 1), ו-"my new value" הוא הערך החדש.

 

אבל מה קורה במידה ואורך המערך המקורי (myArray) הוא קטן מהמיקום שאנו משנים את ערכו? למשל אם אורך המערך הוא 3?

במקרה כזה המערך יוגדל לאורך של 6 ושאר הערכים בדרך יהיו undefined.

דוגמא:

var myArray = ['value1', 'value2', 'value3'];

myArray[2];     //"value3"
myArray.length;     //3

myArray[4] = "new value";
myArray.length;     //5
myArray[3];     //undefined
myArray[4]     //"new value"

 

 

 

 

מידע נוסף

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

 

 

 

 

תגיות:

הוסף תגובה