標籤:自己的 strong 詳細 標識 索引 區別 操作符 array ...
一.數組的基本概念
數組是值的有序集合,每一個值都叫做一個元素,而每個元素在數組中都有自己的位置,以數字表示,稱為索引(從0開始標識)。
在JS中,數組沒有特定的類型,數組元素可以是任意類型並且同一個數組中的不同元素也可能有不同的類型。
二.建立數組
1.建立數組有兩個方法,但是使用數組直接量(或者數組字面量)是建立數組最簡單的方法;
1.1 數組直接量(數組字面量):在方括弧中將數組元素用逗號隔開即可
文法 : var 數組名 = [ 元素1,元素2,元素3,......]
如果省略數組直接量中的某個值,省略的值將被賦予undefined值,例如:
var arr1 = [1,,3]; //數組有3個元素,中間的元素值為undefined
var arr2 = [,,]; //數組有兩個元素,都為undefined
註:這裡arr2裡面有兩個逗號,為什麼不是三個元素而是兩個元素?
因為數組直接量的文法允許有可選的結尾的逗號,故arr2裡面只有兩個元素而不是三個。
1.2 調用建構函式Array()
? 沒有參數 :var arr1 = new Array();
這裡建立了一個沒有任何元素的空數組(相當於數組直接量表示的 var arr1 = [ ])
? 一個參數 :var arr2 = new Array(10);
這裡建立了一個長度為10的數組
如果只有一個為整數的數值參數,那這個參數指定長度
? 兩個或多個參數 :var arr3 = new Array(1,2,3,"test","test");
如果有兩個或多個參數,那傳進來的參數就是這個數組的元素
三.稀疏數組
稀疏數組就是包含從0開始的不連續索引的數組。通常,數組的length屬性值代表數組中的元素個數,如果數組是稀疏的,length屬性值大於數組元素個數。
可以用Array()建構函式或簡單地指定數組的索引值大於當前的數組長度來建立稀疏數組。
a = new Array(5); //數組沒有元素,但是a.length是5
a = [ ]; //建立一個空數組,length為0
a = [100]; //賦值添加一個元素,但是length為101
也可以用delete操作符來生產稀疏數組,此處不詳細解釋。
足夠稀疏的數組通常在實現上比稠密的數組更慢,記憶體利用率更高,在這樣的數組中尋找元素的時間與常規對象屬性的尋找時間一樣長。
註:在數組直接量中省略值時不會建立稀疏數組。省略的元素在數組中是存在的,值為undefined,這和數組元素根本不存在是有區別的。
var arr = [,,,]; //數組是[undefined,undefined,undefined];
但是當這個數組使用連續的逗號時,比如[1,, 3],這時所得到的數組也是稀疏數組,省略的值並不存在。
四.數組長度
每個數組有一個length屬性,針對稠密數組(非稀疏數組),length屬性值代表的是數組中的元素個數,其值比數組中最大的索引值大1。
[ ]. length // 0 數組沒有元素
[‘a‘,‘b‘,‘c‘].length // 3 最大索引值為2,length為3
JavaScript——數組(一)