首頁 >web前端 >js教程 >帶你認識javascript的陣列定義和多維數組

帶你認識javascript的陣列定義和多維數組

伊谢尔伦
伊谢尔伦原創
2017-07-25 11:45:173879瀏覽

認識陣列

陣列就是某類別資料的集合,資料型別可以是整數、字串、甚至是物件。
Javascript不支援多維數組,但因為數組裡面可以包含物件(數組也是一個物件),所以數組可以透過相互嵌套實現類似多維數組的功能。

定義陣列

宣告有10個元素的陣列:

var a = new Array(10);

此時為a已經開闢了記憶體空間,包含10個元素,用數組名稱加[下標] 來調用,例如a[2] 但此時元素並未初始化,調用將傳回undefined。
以下程式碼定義了個可變數組,並進行賦值。

var a = new Array();
a[0] = 10;
a[1] = "aaa";
a[2] = 12.6;

上面提過了,數組裡面可以放對象,例如下面代碼:

var a =    new Array();
a[0]    = true;
a[1]    = document.getElementById("text");
a[2]    = {x:11, y:22};
a[3]    = new Array();

數組還可以實例化的時候直接賦值,例如:

var a = new Array(1, 2, 3, 4, 5);
var b = [1, 2, 3, 4, 5];

a 和b 都是數組,只不過b用了隱性聲明,創建了另一個實例,此時如果用alert(a==b)將彈出false

多維數組

其實Javascript是不支援多維數組的,在asp裡面可以用dim a(10,3)來定義多維數組,在Javascript裡面,如果用var a = new Array(10,3) 將報錯
但是之前說過,數組裡面可以包含對象,所以可以把數組裡面的某個元素再聲明為數組,例如:

var a = new Array();
a[0] = new Array();
a[0][0] = 1;
alert(a[0][0]);  //弹出 1

聲明的時候賦值

var a = new Array([1,2,3], [4,5,6],[7,8,9]);
var b = [[1,2,3], [4,5,6], [7,8,9]];

效果一樣,a採用常規實例化,b是隱性聲明,結果都是產生一個多維數組。

Array literals

這個還真不知中文怎麼叫,文字陣列?
說到數組,不得不說到Array  Literals,數組其實是特殊的對象,對像有特有屬性和方法,透過對象名.屬性、對象.方法() 來取值和調用,而數組是通過下標來取值,Array Literals跟數組有很多相似,都是某資料類型的集合,但是Array Literals從根本來說,是個對象,聲明和調用,跟數組是有區別:

var aa = new Object();
aa.x = "cat";
aa.y = "sunny";
alert(aa.x);    //弹出cat

創建一個簡單的對象,一般呼叫是透過aa.x,而如果當成Array  literals的話,用alert(aa[“x”])一樣會彈出cat

var a = {x:"cat",    y:"sunny"};
alert(a["y"]);  //弹出sunny

這是另一種創建對象的方法,結果是一樣的


#

以上是帶你認識javascript的陣列定義和多維數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn