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