修改數組長度
使用“數組名.length”可以獲取或修改數組的長度。數組長度的計算方式為數組中元素的最大索引值加1,示例代碼如下。
var arr = ['a', 'b', 'c'];
console.log(arr.length); //輸出結果:3
在上述代碼中,數組中最后一個元素是c,該元素的索引為2,因此數組長度為3。使用arr.length不僅可以獲取數組長度,還可以修改數組長度,示例代碼如下。
var arr1 = [1, 2];
arr1.length = 4; //大於原有長度
console.log(arr1); //輸出結果:(4) [1, 2, empty x 2]
var arr2 = [1, 2, 3, 4];
arr2.length = 2; //小於原有長度
console.log(arr2); //輸出結果: (2) [1, 2]
在console.log()的輸出結果中,前面的“(4)” 表示數組的長度為4,后面顯示的是數組中的元素,emply表示空元素。若length的值大於數組中原來的元素個數,則缺少的元素會占用索引游戲的位置上,成為空元素;若length的值小於數組中原來的元素個數,多余的數組元素將會被舍棄。 當訪問空元素時,返回結果為undefined,示例代碼如下。
var arr = [1];
arr.length = 4; //修改數組的長度為4
console.log(arr); //輸出結果: (4) [1, empty x 3]
console.log(arr[1]); //輸出結果:www.cungun.com undefined
除了上述情況外,還有如下3種常見的情況也會出現空元素。
//情況1 :在使用字面量創建數組時出現空元素
var arr=[1,2, ,4];
console.log(arr); //輸出結果: (4) [1,2, empty, 4]
//情況2 :在new Array() 中傳人數組長度的參數
var arr = new Array(4);
console.log(arr); //輸出結果: (4) [empty x 4]
//情況3:為數組添加索引不連續的元素
var arr= [1];
arr[3] = 4; //向數組中添加一個元素,索引為3
console.log(arr); //輸出結果: (4) [1, empty x 2, 4]