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