שפת JavaScript – הפעם נלמד מערכים – Array.
הגדרה והדפסה של מערך
בקובץ HTML נקרא לפונקציה ()printI אשר נמצאת בקובץ JS
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="mystyle.css"> <script type="text/javascript" src="MyJavaScript.js"></script> <title>Welcome to JS and HTML</title> </head> <body> <script>printI()</script> </body> </html>
בקובץ JS נגדיר משתנה arr אשר מכיל 4 איברים:
0, 1, "str", false
var arr = new Array(0, 1, "str", false);
ואז מריצים לולאה כאשר בהתחלה i=0 לאחר מכן i=1
וכך עד i < arr.length
for (var i = 0; i < arr.length; i++) { document.write("arr["+i+"]" +" = " + arr[i] + "<br />"); }
ומכיוון שאורך המערך זה מספר איברים במערך arr נקבל
i < 4. זאת אומרת יש לנו הדפסה:
i=0 זה 0=[0]arr
ירידת שורה.
i=1 זה 1=[1]arr
ירידת שורה.
וכך עד i < 4
function printI() { var arr = new Array(0, 1, "str", false); for (var i = 0; i < arr.length; i++) { document.write("arr["+i+"]" +" = " + arr[i] + "<br />"); } }
הגדרה והדפסה מערך דו ממדי
בקובץ HTML נקרא לפונקציה ()printI אשר נמצאת בקובץ JS
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="mystyle.css"> <script type="text/javascript" src="MyJavaScript.js"></script> <title>Welcome to JS and HTML</title> </head> <body> <script>printI()</script> </body> </html>
בקובץ JS נגדיר שלושה משתנים מסוג מערך
arr_3, arr_2 , arr_1
בעזרת הגדרה מסוג ()var arr = new Array
זה מאפשר לנו ליצור מערך בכל אורך מראש.
הערות ב-JS:
אם צריך הערות בקוד(ללא הרצת) אז משתמשים בזה:
//
או/* */
//one line comment /* COMMENT TEXT COMMENTS */
אז:
function printI() { var arr_1 = new Array(); var arr_2 = new Array(); var arr_3 = new Array(); for (var i = 0; i < 2; i++) arr_1[i] = i;//arr_1[0]=0,arr_1[1]=1 for (var i = 0; i < 3; i++) arr_2[i] = i * 2;//arr_2[0]=0,arr_1[1]=2,arr_1[2]=4 for (var i = 0; i < 4; i++) arr_3[i] = i * 3;//arr_3[0]=0,arr_1[1]=3,arr_1[2]=6,arr_1[3]=9 var arr = new Array(arr_1, arr_2, arr_3); /* arr={ {0,1}, {0,2,4}, {0,3,6,9} } */ for (var i = 0; i < arr.length; i++) { for (var j = 0; j < arr[i].length; j++) document.write(arr[i][j] + " "); document.write("<br />"); } }
הסבר:
בעזרת שלושה לולאות כל אחד ממערכים יקבל ערכים (הערות בירוק).
for (var i = 0; i < 2; i++) arr_1[i] = i;//arr_1[0]=0,arr_1[1]=1 for (var i = 0; i < 3; i++) arr_2[i] = i * 2;//arr_2[0]=0,arr_1[1]=2,arr_1[2]=4 for (var i = 0; i < 4; i++) arr_3[i] = i * 3;//arr_3[0]=0,arr_1[1]=3,arr_1[2]=6,arr_1[3]=9
לאחר מכן נגדיר עוד מערך בשם arr שכל שורה של המערך הזה יהיה מערך בפני עצמו.
למעשה:
var arr = new Array(arr_1, arr_2, arr_3);
- שורה ראשונה של המערך arr זה מערך arr_1
- שורה שניה של המערך arr זה מערך arr_2
- שורה שלישית של המערך arr זה מערך arr_3
למעשה קבלנו מערך דו-מימדי:
//* arr={ {0,1}, {0,2,4}, {0,3,6,9} } *//
ובסוף יש הדפסת מערך,
כאשר מדפיסים לפי שורה (שורה אחרי שורה).
בנוסף לאחר סיום הדפסה של כל שורה ושורה יש הדפסת ירידת שורה!
document.write("<br />");
- כאשר i=0 אז מדפיסים שורה ראשונה
- כאשר i=1 אז מדפיסים שורה שנייה
- כאשר i=3 אז מדפיסים שורה שלישית
בנוסף (ראה צבע כחול בקוד למעטה) עוברים בכל שורה על עמודה אחרי עמודה.
// arr={arr_1,arr_2,arr_3}=>arr.length=3 for (var i = 0; i < arr.length; i++) { for (var j = 0; j < arr[i].length; j++) document.write(arr[i][j] + " "); document.write("<br />"); }
איך יודעים כמה עמודות יש בכל שורה?
תשובה לפי זה: arr[i].length:
- בשורה ראשונה i=0 יש 2 עמודות =arr[0].length
{0,1}//arr[0][0]=0,arr[0][1]=1
- בשורה שנייה i=1 יש 3 עמודות =arr[1].length
{0,2,4}//arr[1][0]=0,arr[1][1]=2,arr[1][2]=4
- בשורה שלישית i=2 יש 4 עמודות =arr[2].length
{0,3,6,9}//arr[2][0]=0,arr[2][1]=3,arr[2][2]=6,arr[2][3]=9
לסיכום קוד JS
function printI() { var arr_1 = new Array(); var arr_2 = new Array(); var arr_3 = new Array(); for (var i = 0; i < 2; i++) arr_1[i] = i;//arr_1[0]=0,arr_1[1]=1 for (var i = 0; i < 3; i++) arr_2[i] = i * 2;//arr_2[0]=0,arr_1[1]=2,arr_1[2]=4 for (var i = 0; i < 4; i++) arr_3[i] = i * 3;//arr_3[0]=0,arr_1[1]=3,arr_1[2]=6,arr_1[3]=9 var arr = new Array(arr_1, arr_2, arr_3); /* arr={ {0,1}, {0,2,4}, {0,3,6,9} } */ for (var i = 0; i < arr.length; i++) { for (var j = 0; j < arr[i].length; j++) document.write(arr[i][j] + " "); document.write("<br />"); } }