JavaScript進階之陣列
1.一起組團(什麼是陣列)
我們知道變數用來儲存資料,一個變數只能儲存一個內容。假設你想儲存10個人的姓名或者儲存20個人的數學成績,就需要10個或20個變數來儲存,如果需要儲存更多資料,那就會變的更麻煩。我們用陣列解決問題,一個陣列變數可以存放多個資料。好比一個團,團裡有很多人,如下我們使用陣列儲存5個學生成績。
陣列是一個值的集合,每個值都有一個索引號,從0開始,每個索引都有一個相應的值,根據需要新增更多數值。
2.組團,並給團取個名(如何建立陣列)
使用陣列之前首先要建立,而且需要把陣列本身賦至一個變數。好比我們出遊,要組團,並給團定個名字“雲南之旅”。
建立陣列語法:
var myarray=new Array();
我們建立陣列的同時,還可以為陣列指定長度,長度可任意指定。
var myarray= new Array(8); //建立陣列,儲存8個資料。
注意:
1.建立的新陣列是空陣列,沒有值,如輸出,則顯示undefined。
2.雖然建立陣列時,指定了長度,但實際上陣列都是變長的,也就是說即使指定了長度為8,仍然可以將元素儲存在規定長度以外。
3.誰是團裡成員(陣列賦值)
陣列建立好,接下來我們為陣列賦值。我們把陣列看似旅遊團的大巴車,大巴車裡有很多位置,每個位置都有一個號碼,顧客要坐在哪個位置呢?
第一步:組個大巴車
第二步:按票對號入座
大巴車的1號座位是張三
大巴車的2號座位是李四
陣列的表達方式:
第一步:建立陣列var myarr=new Array();
第二步:給陣列賦值
myarr[1]=” 張三”;
myarr[2]=” 李四”;
下面建立一個陣列,用於儲存5個人的數學成績。
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];
//直接輸入一個陣列(稱 “字面量陣列”)
注意:陣列儲存的資料可以是任何型別(數字、字元、布林值等)
4.團裡新增新成員(向陣列增加一個新元素)
上一節中,我們使用myarray變數儲存了5個人的成績,現在多出一個人的成績,如何儲存呢?
只需使用下一個未用的索引,任何時刻可以不斷向陣列增加新元素。
myarray[5]=88; //使用一個新索引,為陣列增加一個新元素
5.呼叫團裡成員(使用陣列元素)
我們知道陣列中的每個值有一個索引號,從0開始,如下圖, myarray變數儲存6個人的成績:
要得到一個陣列元素的值,只需引用陣列變數並提供一個索引,如:
第一個人的成績表示方法:myarray[0]
第三個人的成績表示方法:myarray[2]
6.瞭解成員數量(陣列屬性length)
如果我們想知道陣列的大小,只需引用陣列的一個屬性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
7.二維陣列
一維陣列,我們看成一組盒子,每個盒子只能放一個內容。
一維陣列的表示: myarray[ ]
二維陣列,我們看成一組盒子,不過每個盒子裡還可以放多個盒子。
二維陣列的表示: myarray[ ][ ]
注意: 二維陣列的兩個維度的索引值也是從0開始,兩個維度的最後一個索引值為長度-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 。
將上面二維陣列,用表格的方式表示:
- 二維陣列的定義方法二
var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]
- 賦值
myarr[0][1]=5; //將5的值傳入到陣列中,覆蓋原有值。
說明: myarr[0][1] ,0 表示表的行,1表示表的列。
相關文章
- JavaScript 之 物件/JSON/陣列JavaScript物件JSON陣列
- javascript之陣列去重JavaScript陣列
- javascript 進階之 - PromiseJavaScriptPromise
- OpenGL ES 高階進階:紋理陣列陣列
- 《JavaScript 闖關記》之陣列JavaScript陣列
- JavaScript進階之繼承JavaScript繼承
- JavaScript進階之原型鏈JavaScript原型
- JavaScript 陣列JavaScript陣列
- JavaScript資料結構之陣列棧佇列JavaScript資料結構陣列佇列
- JavaScript進階之(一) this指標JavaScript指標
- Javascript - 陣列和陣列的方法JavaScript陣列
- JavaScript 深入之類陣列物件與 argumentsJavaScript陣列物件
- NumPy快餐教程(2) – 多維陣列進階陣列
- 【C進階】28、指標和陣列分析指標陣列
- JavaScript二進位制陣列建立注意點JavaScript陣列
- JavaScript—陣列(17)JavaScript陣列
- JavaScript 陣列 slice()JavaScript陣列
- JavaScript 陣列 fill()JavaScript陣列
- JavaScript 陣列 lastIndexOf()JavaScript陣列ASTIndex
- JavaScript 陣列 indexOf()JavaScript陣列Index
- JavaScript 陣列 concat()JavaScript陣列
- JavaScript 陣列concat()JavaScript陣列
- JavaScript 陣列slice()JavaScript陣列
- JavaScript 陣列indexOf()JavaScript陣列Index
- JavaScript 陣列values()JavaScript陣列
- JavaScript 陣列fill()JavaScript陣列
- javascript陣列操作JavaScript陣列
- JavaScript陣列(一)JavaScript陣列
- JavaScript 陣列 keys()JavaScript陣列
- JavaScript陣列(二)JavaScript陣列
- JavaScript Array 陣列JavaScript陣列
- Javascript 08 陣列JavaScript陣列
- JavaScript 陣列 entries()JavaScript陣列
- JavaScript 陣列includes()JavaScript陣列
- JavaScript 陣列entries()JavaScript陣列
- JavaScript陣列方法JavaScript陣列
- JavaScript 陣列 toString()JavaScript陣列
- JavaScript 陣列操作JavaScript陣列
- JavaScript 陣列排序JavaScript陣列排序