使用[ ]文法既可以讀一個數組元素,也可以寫一個數組元素。我們已經知道,[ ]運算子可以用來訪問對象的已命名的屬性:my[ ' salary ' ]*=2;
因為數組是一種特殊的對象,可以在一個數組上定義非數位對象屬性,並且使用.或[ ]文法來訪問它。
① 添加新元素
JavaScript的數組可以具有任意個數的元素,可以在任何時刻改變元素個數。要給一個數組添加新的元素,只需要給它賦一個值即可。
a[10]=10;
在JavaScript中數組是稀疏的。這意味著數組的下標不必落在一個連續的數字範圍內,只有那些真正儲存在數組中的元素才能夠由JavaScript實現分配到記憶體。因此當執行下面的幾行代碼時,JavaScript解譯器只給數組下標為0和10000的元素分配記憶體,而並不給下標在0和10000之間的那9999個元素分配記憶體。
a[0]=1;a[10000]="this is element 10000";
② 刪除數組元素
delete運算子把一個數組元素設定為undefined值,但是元素本身還繼續存在。要真正地刪除一個元素,那麼必須使用數組方法。
Array.shift( )方法刪除掉數組的第一個元素。
Array.pop( )方法刪除掉最後一個元素。
Array.splice( )方法從一個數組中刪除一個連續範圍內的元素。
③ 數組的長度
所有的數組都有一個特殊的屬性length,用來說明這個數組包含的元素個數。
④ 遍曆數組
一個數組的length屬性最常見的用法就是遍曆數組元素。
var fruits=["mango","banana","cherry","pear"];for(var i=0;i<fruits.length;i++){alert(fruits[i]);}
⑤ 截斷或增長數組
數組的length屬性既可以讀也可以寫。如果給length設定了一個比它的當前值小的值,那麼數組將會被截斷,這個長度之外的元素都會被拋棄,它們的值隨之丟失。
如果給length設定的值比當前值大,那麼新的、未定義的元素就會被添加到數組末尾以使得數組增長到新制定的長度。
⑥ 多維陣列
雖然JavaScript並不支援真正的多維陣列,但是它允許使元素為數組的數組,這就非常接近多維陣列。