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