מערכים ב-JavaScript - פונקציות לעדכון, עריכה ומחיקה

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

 

פירוט פונקציות המערך ב- JavaScript

push - מוסיף אובייקט חדש לסוף המערך ומחזיר את מספר האובייקטים במערך לאחר ההוספה.

unshift - מוסיף אובייקט חדש לתחילת המערך ומחזיר את מספר האובייקטים במערך לאחר ההוספה.

pop - מסיר את האובייקט האחרון במערך ומחזיר אותו.

shift - מסיר את האובייקט הראשון במערך ומחזיר אותו.

slice - משיכת חלק מהמערך. מקבלת את המקום במערך של האיבר הראשון ואת המקום במערך של האיבר האחרון (אך הוא לא נכלל) ומחזירה מערך חדש עם הערכים שנבחרו.

splice - משיכת חלק מהמערך והוספה של ערכים נוספים. מקבלת את המקום במערך, כמה איברים נרצה להסיר (גם 0 זאת אופציה) ורשימת ערכים שנרצה להוסיף. הפונקציה תיגש למקום הנבחר במערך, תסיר את כמות האיברים שהגדרנו (רק אם הגדרנו מעל 0) ותוסיף שם את הערכים החדשים.

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

concat - מאחד מספר מערכים למערך אחד.

indexOf - מחפש אובייקט במערך ומחזיר את מיקומו הראשון שהוא מוצא.

lastIndexOf - מחפש אובייקט במערך ומחזיר את מיקומו האחרון שהוא מוצא.

sort - סידור המערך. יכול להתבצע לפי סדר אלפבתי, מספרי או לפי פונקציה שמעבירים לה.

 

דומאות לפונקציות המערך ב- JavaScript

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

נתחיל ביצירת המערך:

var myArray = ['val1', 'val2', 'val3'];

 

נוסיף ערך לסוף המערך בעזרת push:

var count = myArray.push('val4');
//count = 4
//myArray = ["val1", "val2", "val3", "val4"]

 

 כעת נוסיף ערך חדש לתחילת המערך בעזרת unshift:

count = myArray.unshift('val4');
//count = 5
//myArray = ["val4", "val1", "val2", "val3", "val4"]

 

ניתן להוסיף בעזרת הפונקציות push ו- unshift יותר מערך אחד בכל פעם:

count = myArray.unshift('val5', 'val6');
//count = 7
//myArray = ["val5", "val6", "val4", "val1", "val2", "val3", "val4"]

 

 נסיר את הערך האחרון במערך בעזרת pop:

var removedVal = myArray.pop();
//removedVal = 'val4'
//myArray = ["val5", "val6", "val4", "val1", "val2", "val3"]

 

ונסיר את הערך הראשון במערך בעזרת shift

var removedVal = myArray.shift();
//removedVal = 'val5'
//myArray = ["val6", "val4", "val1", "val2", "val3"]

 

כעת, ניצור מערך חדש מתוך הערכים שנמצאים במערך myArray. ניקח את הערכים שנמצעים במקום ה-1 עד המקום ה-3 (לא כולל), כלומר,val4 ו-val1, ונשים אותם במערך חדש בעזרת slice.

שימו לב שמערך המקורי לא משתנה כאשר משתמשים בפונקציה slice.

var removedItems = myArray.slice(1,3);
//removedItems = ["val4", "val1"]
//myArray = ["val6", "val4", "val1", "val2", "val3"]

 

נשתמש בפונקציה splice על מנת להסיר את val1 ו- val2, ונוסיף ערכים חדשים במקומם

var removedItems = myArray.splice(2,2,'val8','val7', 'val4');
//removedItems = ["val1", "val2"]
//myArray = ["val6", "val4", "val8", "val7", "val4", "val3"]

 

נהפוך את סדר המערך בעזרת הפונקציה reverse

myArray.reverse();
//myArray = ["val3", "val4", "val7", "val8", "val4", "val6"]

 

 

נחבר שני מערכים בעזרת concat. ניקח את המערך removedItems שהשתמשנו בו בדוגמא קודמת ומכיל חלק מהמערך המקורי של myArray

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

var myNewArray = myArray.concat(removedItems);
//myNewArray = ["val3", "val4", "val7", "val8", "val4", "val6", "val1", "val2"]
//myArray = ["val3", "val4", "val7", "val8", "val4", "val6"]
//removedItems = ["val1", "val2"]

 

 אם נרצה למצוא את המקום הראשון במערך שמכיל ערך מסוים נשתמש ב- indexOf. 

var index = myNewArray.indexOf('val4');
//index = 1

 

 ועבור הערך במקום האחרון נשתמש ב-

var index = myNewArray.lastIndexOf('val4');
//index = 4

 

 

 לסיום, נמיין את המערך בעזרת sort

myNewArray.sort();
//myNewArray = ["val1", "val2", "val3", "val4", "val4", "val6", "val7", "val8"]

 

 

 

 

תגיות:

הוסף תגובה