3-1什麼是數組?變數用來存儲數據,一個變數只能存儲一個內容,如果要存儲多個數據怎麼辦?此時就需要用到數組,數組是一個值的集合,每個值都有一個索引號,從0開始,每個索引都有一個相應的值,根據需要添加更多數值。 1 <script type="text/javascript"> 2 var myarr ...
3-1什麼是數組?變數用來存儲數據,一個變數只能存儲一個內容,如果要存儲多個數據怎麼辦?此時就需要用到數組,數組是一個值的集合,每個值都有一個索引號,從0開始,每個索引都有一個相應的值,根據需要添加更多數值。
1 <script type="text/javascript"> 2 var myarr=new Array(); //定義數組 3 myarr[0]=80; 4 myarr[1]=60; 5 myarr[2]=99; 6 document.write("第一個人的成績是:"+myarr[0]); 7 document.write("第二個人的成績是:"+myarr[1]); 8 document.write("第三個人的成績是:"+myarr[2]); 9 </script>
3-2如何創建數組?使用數組之前首先要創建,而且需要把數組本身賦至一個變數;
var myarray=new Array();//創建數組的語法
我們創建數組的同時,還可以為數組指定長度,長度可任意指定;
1 var myarray= new Array(8); //創建數組,存儲8個數據。
1 <script type="text/JavaScript"> 2 document.write("數組的第一個值:"+myarr[0]); 3 </script>
1.創建的新數組是空數組,沒有值,如輸出,則顯示undefined。
2.雖然創建數組時,指定了長度,但實際上數組都是變長的,也就是說即使指定了長度為8,仍然可以將元素存儲在規定長度以外。
3-3數組賦值:數組創建好,接下來我們為數組賦值。
1 第一步:創建數組var myarr=new Array(); 2 第二步:給數組賦值 3 myarr[1]=" 張三"; 4 myarr[2]=" 李四";
如上為數組的表達方式,下麵創建一個數組,用於存儲5個人的數學成績。
1 var myarray=new Array(); //創建一個新的空數組 2 myarray[0]=66; //存儲第1個人的成績 3 myarray[1]=80; //存儲第2個人的成績 4 myarray[2]=90; //存儲第3個人的成績 5 myarray[3]=77; //存儲第4個人的成績 6 myarray[4]=59; //存儲第5個人的成績
註意:數組每個值有一個索引號,從0開始。/我們還可以用簡單的方法創建上面的數組和賦值;
第一種方法:
1 var myarray = new Array(66,80,90,77,59);//創建數組同時賦值
第二種方法:
1 var myarray = [66,80,90,77,59];//直接輸入一個數組(稱 “字面量數組”)
註意:數組存儲的數據可以是任何類型(數字、字元、布爾值等)
1 <script language="javascript"> 2 var myarr=new Array(3); 3 myarr[0]=88; 4 myarr[1]=90; 5 myarr[2]=68; 6 document.write("數組第一個值是:"+myarr[0]+"<br>"); 7 document.write("數組第二個值是:"+myarr[1]+"<br>"); 8 document.write("數組第三個值是:"+myarr[2]+"<br>"); 9 </script>
3-4向數組增加一個新元素:之前使用myarray變數存儲了5個人的成績,現在多出一個人的成績,如何存儲呢?只需使用下一個未用的索引,任何時刻可以不斷向數組增加新元素。
1 myarray[5]=88; //使用一個新索引,為數組增加一個新元素
1 <script language="javascript"> 2 var myarray=new Array(); 3 myarray[0]=88; 4 myarray[1]=90; 5 myarray[2]=68; 6 myarray[3]=99; 7 document.write("數組第一個值是:"+myarray[0]+"<br>"); 8 document.write("數組第二個值是:"+myarray[1]+"<br>"); 9 document.write("數組第三個值是:"+myarray[2]+"<br>"); 10 document.write("數組第四個值是:"+myarray[3]+"<br>"); 11 </script>
3-5使用數組元素:數組中的每個值有一個索引號,從0開始, myarray變數存儲6個人的成績,如下圖:
1 要得到一個數組元素的值,只需引用數組變數並提供一個索引,如: 2 第一個人的成績表示方法:myarray[0] 3 第三個人的成績表示方法: myarray[2]
1 <script language="javascript"> 2 var myarr=new Array(); 3 myarr[0]="小紅"; 4 myarr[1]="第二個人的姓名是" 5 myarr[2]="小亮"; 6 myarr[3]="小川"; 7 document.write("第二人的姓名是:"+ myarr[1]); 8 </script>
3-6數組屬性length:如果我們想知道數組的大小,只需引用數組的一個屬性length。Length屬性表示數組的長度,即數組中元素的個數。
myarray.length; //獲得數組myarray的長度
註意:因為數組的索引總是由0開始,所以一個數組的上下限分別是:0和length-1。如數組的長度是5,數組的上下限分別是0和4。
1 var arr=[55,32,5,90,60,98,76,54];//包含8個數值的數組arr 2 document.write(arr.length); //顯示數組長度8 3 document.write(arr[7]); //顯示第8個元素的值54
JavaScript數組的length屬性是可變的,這一點需要特別註意
1 arr.length=10; //增大數組的長度 2 document.write(arr.length); //數組長度已經變為10
數組隨元素的增加,長度也會改變,如下:
1 var arr=[98,76,54,56,76]; // 包含5個數值的數組 2 document.write(arr.length); //顯示數組的長度5 3 arr[15]=34; //增加元素,使用索引為15,賦值為34 4 alert(arr.length); //顯示數組的長度16
1 <script language="javascript"> 2 var mynum=new Array(65,90,88,98); 3 document.write("數組的長度是:"+ mynum.length); 4 </script>
3-7二維數組/一維數組,我們看成一組盒子,每個盒子只能放一個內容
1 一維數組的表示: myarray[ ]
二維數組,我們看成一組盒子,不過每個盒子里還可以放多個盒子。
1 二維數組的表示: myarray[ ][ ]
二維數組的兩個維度的索引值也是從0開始,兩個維度的最後一個索引值為長度-1。
二維數組的定義方法一
1 var myarr=new Array(); //先聲明一維 2 for(var i=0;i<2;i++){ //一維長度為2 3 myarr[i]=new Array(); //再聲明二維 4 for(var j=0;j<3;j++){ //二維長度為3 5 myarr[i][j]=i+j; // 賦值,每個數組元素的值為i+j 6 } 7 }
將上面二維數組,用表格的方式表示:
二維數組的定義方法二,在賦值中,myarr[0][1] ,0 表示表的行,1表示表的列。
1 var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]
myarr[0][1]=5; //將5的值傳入到數組中,覆蓋原有值。//賦值
測試:使用Javascript語言,把以下數組 var arr = ['*','##',"***","&&","****","##*"];arr[7] = "**";在頁面顯示圖案:
第一步:定義一個數組,存儲要展示的圖形。提示:var arr = ['*','##',"***","&&","****","##*"]; arr[7] = "**";
第二步:預想一下arr 數組的長度是多少? 提示: 使用alert彈出數組的長度,看看是否跟自己的答案一樣。
第三步:將數組內容輸出,完成達到的效果。
1 <script type="text/javascript"> 2 //創建數組 3 var arr = ['*','##',"***","&&","****","##*"]; 4 arr[7] = "**"; 5 //顯示數組長度 6 alert(arr.length); 7 //將數組內容輸出,完成達到的效果。 8 document.write(arr[0]+'<br />'); 9 document.write(arr[1]的值是:+'<br />'); 10 document.write(arr[2]的值是:+'<br />'); 11 document.write(arr[3]的值是:+'<br />'); 12 document.write(arr[4]的值是:+'<br />'); 13 document.write(arr[5]的值是:+'<br />'); 14 document.write(arr[6]的值是:+'<br />'); 15 document.write(arr[8]的值是:+'<br />'); 16 </script>