咱們知道變量用來存儲數據,一個變量只能存儲一個內容。假設你想存儲10我的的姓名或者存儲20我的的數學成績,就須要10個或20個變量來存儲,若是須要存儲更多數據,那就會變的更麻煩。咱們用數組解決問題,一個數組變量能夠存放多個數據。比如一個團,團裏有不少人,以下咱們使用數組存儲5個學生成績。數組
數組是一個值的集合,每一個值都有一個索引號,從0開始,每一個索引都有一個相應的值,根據須要添加更多數值。code
//=============================================================================blog
數組建立好,接下來咱們爲數組賦值。咱們把數組看似旅遊團的大巴車,大巴車裏有不少位置,每一個位置都有一個號碼,顧客要坐在哪一個位置呢? it
第一步:組個大巴車 第二步:按票對號入座 大巴車的1號座位是張三 大巴車的2號座位是李四
數組的表達方式:io
第一步:建立數組var myarr=new Array(); 第二步:給數組賦值 myarr[1]=" 張三"; myarr[2]=" 李四";
下面建立一個數組,用於存儲5我的的數學成績。class
var myarray=new Array(); //建立一個新的空數組 myarray[0]=66; //存儲第1我的的成績 myarray[1]=80; //存儲第2我的的成績 myarray[2]=90; //存儲第3我的的成績 myarray[3]=77; //存儲第4我的的成績 myarray[4]=59; //存儲第5我的的成績
注意:數組每一個值有一個索引號,從0開始。
咱們還能夠用簡單的方法建立上面的數組和賦值:
第一種方法:
var myarray = new Array(66,80,90,77,59);//建立數組同時賦值
第二種方法:
var myarray = [66,80,90,77,59];//直接輸入一個數組(稱 「字面量數組」)
注意:數組存儲的數據能夠是任何類型(數字、字符、布爾值等)
//====================================================
上一節中,咱們使用myarray變量存儲了5我的的成績,如今多出一我的的成績,如何存儲呢?
只需使用下一個未用的索引,任什麼時候刻能夠不斷向數組增長新元素。
myarray[5]=88; //使用一個新索引,爲數組增長一個新元素
//==============================================================
咱們知道數組中的每一個值有一個索引號,從0開始,以下圖, myarray變量存儲6我的的成績:
要獲得一個數組元素的值,只需引用數組變量並提供一個索引,如:
第一我的的成績表示方法:myarray[0]
第三我的的成績表示方法: myarray[2]
//=====================================================
若是咱們想知道數組的大小,只需引用數組的一個屬性length。Length屬性表示數組的長度,即數組中元素的個數。
語法:
myarray.length; //得到數組myarray的長度
注意:由於數組的索引老是由0開始,因此一個數組的上下限分別是:0和length-1。如數組的長度是5,數組的上下限分別是0和4。
var arr=[55,32,5,90,60,98,76,54];//包含8個數值的數組arr document.write(arr.length); //顯示數組長度8 document.write(arr[7]); //顯示第8個元素的值54
同時,JavaScript數組的length屬性是可變的,這一點須要特別注意。
arr.length=10; //增大數組的長度 document.write(arr.length); //數組長度已經變爲10
數組隨元素的增長,長度也會改變,以下:
var arr=[98,76,54,56,76]; // 包含5個數值的數組 document.write(arr.length); //顯示數組的長度5 arr[15]=34; //增長元素,使用索引爲15,賦值爲34 alert(arr.length); //顯示數組的長度16
一維數組,咱們當作一組盒子,每一個盒子只能放一個內容。
一維數組的表示: myarray[ ]
二維數組,咱們當作一組盒子,不過每一個盒子裏還能夠放多個盒子。
二維數組的表示: myarray[ ][ ]
注意: 二維數組的兩個維度的索引值也是從0開始,兩個維度的最後一個索引值爲長度-1。
1. 二維數組的定義方法一
var myarr=new Array(); //先聲明一維 for(var i=0;i<2;i++){ //一維長度爲2 myarr[i]=new Array(); //再聲明二維 for(var j=0;j<3;j++){ //二維長度爲3 myarr[i][j]=i+j; // 賦值,每一個數組元素的值爲i+j } }
注意: 關於for 循環語句,請看第四章4-5 。
將上面二維數組,用表格的方式表示:
2. 二維數組的定義方法二
var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]
3. 賦值
myarr[0][1]=5; //將5的值傳入到數組中,覆蓋原有值。
說明: myarr[0][1] ,0 表示表的行,1表示表的列。