Arrays

שפת 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 />");
}



}

דילוג לתוכן