在Javascript中,數(shù)組是一組按順序排列的數(shù)據(jù)的集合,數(shù)組中的每個(gè)成員被稱為元素,每個(gè)元素的名稱(鍵)被稱為數(shù)組下標(biāo)。js數(shù)組可以利用“[]”和“Array()”兩種方式來創(chuàng)建,數(shù)組中所包含的數(shù)據(jù)可以是任意類型的。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
JavaScript 數(shù)組(Array)是有序數(shù)據(jù)的集合,數(shù)組中的每個(gè)成員被稱為元素(Element),每個(gè)元素的名稱(鍵)被稱為數(shù)組下標(biāo)(Index)。
數(shù)組中可以包含任意類型的數(shù)據(jù);數(shù)組的長度是彈性的、可讀寫的。
創(chuàng)建數(shù)組
JavaScript 定義(創(chuàng)建或者聲明)數(shù)組的方法有兩種:構(gòu)造數(shù)組和數(shù)組直接量。
1、構(gòu)造數(shù)組
使用 new 運(yùn)算符調(diào)用 Array() 類型函數(shù)時(shí),可以構(gòu)造一個(gè)新數(shù)組。
var a = new Array(); //空數(shù)組 var a = new Array(1, true, "string", [1,2], {x:1,y:2}); //實(shí)數(shù)組
2、數(shù)組直接量
數(shù)組直接量的語法格式:在中括號(hào)“[]”中包含多個(gè)值列表,值之間用逗號(hào)分隔。
var a = []; //空數(shù)組 var a = [1, true, "0", [1,0], {x:1,y:0}]; //包含具體元素的數(shù)組
訪問數(shù)組
數(shù)組是復(fù)合型數(shù)據(jù),數(shù)組名稱是一個(gè)指向數(shù)組的引用型變量,因此數(shù)組屬于引用型對(duì)象。
訪問數(shù)組就是訪問數(shù)組元素。元素相當(dāng)于變量,數(shù)組的元素是一組有序排列的變量,它們沒有標(biāo)識(shí)符,以下標(biāo)進(jìn)行索引,下標(biāo)從 0 開始,有序遞增。注意,數(shù)組下標(biāo)是非負(fù)整數(shù)型表達(dá)式,或者是字符型數(shù)字,不可以為其他類型的值或表達(dá)式。
使用中括號(hào)[]可以讀寫數(shù)組。中括號(hào)左側(cè)是數(shù)組名稱,中括號(hào)內(nèi)為數(shù)組下標(biāo)。
數(shù)組[下標(biāo)表達(dá)式]
下標(biāo)表達(dá)式是值為非負(fù)整數(shù)的表達(dá)式。
示例1
下面代碼使用中括號(hào)為數(shù)組寫入數(shù)據(jù),然后再讀取數(shù)組元素的值。
var a = []; //聲明一個(gè)空數(shù)組 a[0] = 0; //為第一個(gè)元素賦值為0 a[2] = 2; //為第三個(gè)元素賦值為2 console.log(a[0]); //讀取第一個(gè)元素,返回值為0 console.log(a[1]); //讀取第二個(gè)元素,返回值為undefined console.log(a[2]); //讀取第三個(gè)元素,返回值為2
在上面代碼中僅為 0 和 2 下標(biāo)位置的元素賦值,下標(biāo)為 1 的元素為空,讀取時(shí)為空的元素返回值默認(rèn)為 undefined。
示例2
下面代碼使用 for 語句批量為數(shù)組賦值,其中數(shù)組下標(biāo)是一個(gè)遞增表達(dá)式。
var a = new Array(); for (var i = 0; i < 10; i ++) { a[i ++] = ++ i; } console.log(a);
示例3
設(shè)計(jì)有兩個(gè)變量,不需要其他變量的幫助實(shí)現(xiàn)值互換。
一般情況下實(shí)現(xiàn)變量交換,需要定義一個(gè)臨時(shí)變量做中轉(zhuǎn)。
var a = 10, b = 20; //變量初始化 var temp = a; //定義臨時(shí)變量存儲(chǔ)a a = b; //把b的值賦值給a b = temp; //把臨時(shí)變量的值賦值給b
利用數(shù)組就可以這樣設(shè)計(jì)。
var a = 10, b = 20; //變量初始化 a = [b, b = a][0]; //通過數(shù)組快速交換數(shù)據(jù)
設(shè)計(jì)技巧
數(shù)組的元素允許使用表達(dá)式,表達(dá)式的值與元素的值是兩個(gè)不同的概念,本質(zhì)上元素也是一個(gè)變量,標(biāo)識(shí)符是下標(biāo)編號(hào)。在一個(gè)匿名數(shù)組中,把變量 b 的值傳遞給第 1 個(gè)元素,然后在第 2 個(gè)元素中以賦值表達(dá)式運(yùn)算的方式把變量 a 的值賦值給變量 b,再把變量 b 的值傳遞給第 2 個(gè)元素。這個(gè)過程是按順序執(zhí)行的,變量 b 的值被重寫,同時(shí)數(shù)組也被添加了兩個(gè)元素,最后使用中括號(hào)語法讀取第 1 個(gè)元素的值,并賦值給變量 a,從而實(shí)現(xiàn)值互換。
【