1、一起組團(什么是數(shù)組)
-
我們知道變量用來存儲數(shù)據(jù),一個變量只能存儲一個內容。假設你想存儲10個人的姓名或者存儲20個人的數(shù)學成績,就需要10個或20個變量來存儲,如果需要存儲更多數(shù)據(jù),那就會變的更麻煩。我們用數(shù)組解決問題,一個數(shù)組變量可以存放多個數(shù)據(jù)。好比一個團,團里有很多人,如下我們使用數(shù)組存儲5個學生成績
image.png - 數(shù)組是一個值的集合,每個值都有一個索引號,從0開始,每個索引都有一個相應的值,根據(jù)需要添加更多數(shù)值
2、組團,并給團取個名(如何創(chuàng)建數(shù)組)
- 使用數(shù)組之前首先要創(chuàng)建,而且需要把數(shù)組本身賦至一個變量。好比我們出游,要組團,并給團定個名字“云南之旅”
創(chuàng)建數(shù)組語法:
var arr = ['a', 'b', 'c']; //直接用[]
var myarray = new Array();

image.png
- 我們創(chuàng)建數(shù)組的同時,還可以為數(shù)組指定長度,長度可任意指定
var myarray = new Array(8); //創(chuàng)建數(shù)組,存儲8個數(shù)據(jù)。
注意:
1.創(chuàng)建的新數(shù)組是空數(shù)組,沒有值,如輸出,則顯示undefined。
2.雖然創(chuàng)建數(shù)組時,指定了長度,但實際上數(shù)組都是變長的,也就是說即使指定了長度為8,仍然可以將元素存儲在規(guī)定長度以外
3.任何類型的數(shù)據(jù),都可以放入數(shù)組
3、誰是團里成員(數(shù)組賦值)
- 數(shù)組創(chuàng)建好,接下來我們?yōu)閿?shù)組賦值。我們把數(shù)組看似旅游團的大巴車,大巴車里有很多位置,每個位置都有一個號碼,顧客要坐在哪個位置呢?
第一步:組個大巴車
第二步:按票對號入座
大巴車的1號座位是張三
大巴車的2號座位是李四
- 數(shù)組的表達方式:
第一步:創(chuàng)建數(shù)組var myarr = new Array();
第二步:給數(shù)組賦值
myarr[1] = "張三";
myarr[2] = "李四";
- 下面創(chuàng)建一個數(shù)組,用于存儲5個人的數(shù)學成績
var myarray=new Array(); //創(chuàng)建一個新的空數(shù)組
myarray[0]=66; //存儲第1個人的成績
myarray[1]=80; //存儲第2個人的成績
myarray[2]=90; //存儲第3個人的成績
myarray[3]=77; //存儲第4個人的成績
myarray[4]=59; //存儲第5個人的成績
- 注意:數(shù)組每個值有一個索引號,從0開始
- 我們還可以用簡單的方法創(chuàng)建上面的數(shù)組和賦值:
第一種方法:
var myarray = new Array(66,80,90,77,59);//創(chuàng)建數(shù)組同時賦值
第二種方法:
var myarray = [66,80,90,77,59];//直接輸入一個數(shù)組(稱 “字面量數(shù)組”)
- 注意:數(shù)組存儲的數(shù)據(jù)可以是任何類型(數(shù)字、字符、布爾值等)
4、團里添加新成員(向數(shù)組增加一個新元素)
-
上一節(jié)中,我們使用myarray變量存儲了5個人的成績,現(xiàn)在多出一個人的成績,如何存儲呢?
image.png - 只需使用下一個未用的索引,任何時刻可以不斷向數(shù)組增加新元素
myarray[5]=88; //使用一個新索引,為數(shù)組增加一個新元素
5、呼叫團里成員(使用數(shù)組元素)
-
我們知道數(shù)組中的每個值有一個索引號,從0開始,如下圖, myarray變量存儲6個人的成績:
image.png
要得到一個數(shù)組元素的值,只需引用數(shù)組變量并提供一個索引,如:
第一個人的成績表示方法:myarray[0]
第三個人的成績表示方法: myarray[2]
6、了解成員數(shù)量(數(shù)組屬性length)
- 如果我們想知道數(shù)組的大小,只需引用數(shù)組的一個屬性length。Length屬性表示數(shù)組的長度,即數(shù)組中元素的個數(shù)。
語法:
myarray.length; //獲得數(shù)組myarray的長度
- 注意:因為數(shù)組的索引總是由0開始,所以一個數(shù)組的上下限分別是:0和length-1。如數(shù)組的長度是5,數(shù)組的上下限分別是0和4
var arr=[55,32,5,90,60,98,76,54];//包含8個數(shù)值的數(shù)組arr
document.write(arr.length); //顯示數(shù)組長度8
document.write(arr[7]); //顯示第8個元素的值54
- 同時,JavaScript數(shù)組的length屬性是可變的,這一點需要特別注意
arr.length=10; //增大數(shù)組的長度
document.write(arr.length); //數(shù)組長度已經(jīng)變?yōu)?0
- 數(shù)組隨元素的增加,長度也會改變,如下:
var arr=[98,76,54,56,76]; // 包含5個數(shù)值的數(shù)組
document.write(arr.length); //顯示數(shù)組的長度5
arr[15]=34; //增加元素,使用索引為15,賦值為34
alert(arr.length); //顯示數(shù)組的長度16
7、二維數(shù)組
- 一維數(shù)組,我們看成一組盒子,每個盒子只能放一個內容
一維數(shù)組的表示: myarray[ ]
- 二維數(shù)組,我們看成一組盒子,不過每個盒子里還可以放多個盒子
二維數(shù)組的表示: myarray[ ][ ]
- 注意: 二維數(shù)組的兩個維度的索引值也是從0開始,兩個維度的最后一個索引值為長度-1
- 二維數(shù)組的定義方法一
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; // 賦值,每個數(shù)組元素的值為i+j
}
}
-
將上面二維數(shù)組,用表格的方式表示:
image.png - 二維數(shù)組的定義方法二
var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]
- 賦值:
myarr[0][1]=5; //將5的值傳入到數(shù)組中,覆蓋原有值。
- 說明: myarr[0][1] , 0表示表的行,1表示表的列。



