更新时间:2022年04月20日17时27分 来源:传智教育 浏览次数:
Array对象提供的length属性可以获取数组的长度,其值为数组元素最大索引下标加1,具体示例如下所示。
var arr1= [78, 88, 98]; var arr2= ['a', , , , 'b', 'c']; console.log(arr1.length); // 输出结果为:3console.log(arr2.length); // 输出结果为:6
在上述代码中,数组arr1中包含3个数组元素,因此其length属性的值为3。而数组arr2中没有值的数组元素会占用空存储位置,因此,数组的下标依然会递增,length属性值的为6。
数组的length属性不仅可以用于获取数组长度,还可以修改数组长度,具体示例如下。
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"]
从上述代码可以看出,修改数组的length属性值后,若length的值大于数组中原来的元素个数,则没有值的数组元素会占用空存储位置,如arr1和arr2;若length的值等于数组中原来的元素个数,数组长度不变,如arr3;若length的值小于数组中原来的元素个数,多余的数组元素将会被舍弃,如arr4舍弃了多余的第4个元素“jiujiu”。
除此之外,在利用Array对象方式创建数组时,也可以指定数组的长度。具体示例如下。
var arr = new Array(3); console.log(arr);// 输出结果:(3) [empty × 3]
值得一提的是,JavaScript中不论何种方式设置数组长度后,并不影响继续为数组添加元素,同时数组的length属性值会发生相应的改变。