更新時(shí)間:2022年04月20日17時(shí)27分 來源:傳智教育 瀏覽次數(shù):
Array對(duì)象提供的length屬性可以獲取數(shù)組的長(zhǎng)度,其值為數(shù)組元素最大索引下標(biāo)加1,具體示例如下所示。
var arr1= [78, 88, 98]; var arr2= ['a', , , , 'b', 'c']; console.log(arr1.length); // 輸出結(jié)果為:3console.log(arr2.length); // 輸出結(jié)果為:6
在上述代碼中,數(shù)組arr1中包含3個(gè)數(shù)組元素,因此其length屬性的值為3。而數(shù)組arr2中沒有值的數(shù)組元素會(huì)占用空存儲(chǔ)位置,因此,數(shù)組的下標(biāo)依然會(huì)遞增,length屬性值的為6。
數(shù)組的length屬性不僅可以用于獲取數(shù)組長(zhǎng)度,還可以修改數(shù)組長(zhǎng)度,具體示例如下。
var arr1 = []; arr1.length= 5; console.log(arr1); // 輸出結(jié)果:(5) [empty × 5] var arr2 = [1,2,3]; arr2.length = 4; console.log(arr2); // 輸出結(jié)果:(4) [1, 2, 3, empty] var arr3 = ['a','b'];arr3.length = 2; console.log(arr3); // 輸出結(jié)果:(2) ["a", "b"] var arr4 = ['hehe','xixi','gugu','jiujiu']; arr4.length = 3; console.log(arr4); // 輸出結(jié)果:(3) ["hehe", "xixi", "gugu"]
從上述代碼可以看出,修改數(shù)組的length屬性值后,若length的值大于數(shù)組中原來的元素個(gè)數(shù),則沒有值的數(shù)組元素會(huì)占用空存儲(chǔ)位置,如arr1和arr2;若length的值等于數(shù)組中原來的元素個(gè)數(shù),數(shù)組長(zhǎng)度不變,如arr3;若length的值小于數(shù)組中原來的元素個(gè)數(shù),多余的數(shù)組元素將會(huì)被舍棄,如arr4舍棄了多余的第4個(gè)元素“jiujiu”。
除此之外,在利用Array對(duì)象方式創(chuàng)建數(shù)組時(shí),也可以指定數(shù)組的長(zhǎng)度。具體示例如下。
var arr = new Array(3); console.log(arr);// 輸出結(jié)果:(3) [empty × 3]
值得一提的是,JavaScript中不論何種方式設(shè)置數(shù)組長(zhǎng)度后,并不影響繼續(xù)為數(shù)組添加元素,同時(shí)數(shù)組的length屬性值會(huì)發(fā)生相應(yīng)的改變。
北京校區(qū)