在es6中,可以利用array对象的length属性来判断数组里总共有多少项,即获取数组中元素的个数;该属性可返回数组中元素的数目,只需要使用“array.length”语句即可返回表示数组对象的元素个数的数值,也就是长度值。
本教程操作环境:windows7系统、ECMAScript 6版、Dell G3电脑。
es6判断数组里总共有多少项,就是判断数组中元素的个数,即求数组长度。那么怎么求?
在es6中,可以利用数组对象的length属性来获取数组长度。
每个数组都有一个 length 属性,该属性返回数组的最大长度,即其值等于最大下标值加 1。由于数字下标必须小于 2^32-1,所以 length 属性最大值等于 2^32-1。
示例1:
var arr=[2,6,1,5,22,3,66,12,9]; arr.length;
登录后复制
示例2
下面代码定义了一个空数组,然后为下标等于 100 的元素赋值,则 length 属性返回 101。因此,length 属性不能体现数组元素的实际个数。
var a = []; //声明空数组 a[100] = 2; console.log(a.length); //返回101
登录后复制
输出:
length 属性可读可写,是一个动态属性。length 属性值也会随数组元素的变化而自动更新。同时,如果重置 length 属性值,也将影响数组的元素,具体说明如下:
-
如果 length 属性被设置了一个比当前 length 值小的值,则数组会被截断,新长度之外的元素值都会丢失。
-
如果 length 属性被设置了一个比当前 length 值大的值,那么空数组就会被添加到数组末尾,使得数组增长到新指定的长度,读取值都为 undefined。
示例3
下面代码演示了 length 属性值动态变化对数组的影响。
var a = [1,2,3]; //声明数组直接量 a.length = 5; //增长数组长度 console.log(a[4]); //返回undefined,说明该元素还没有被赋值 a.length = 2; //缩短数组长度 console.log(a[2]); //返回undefined,说明该元素的值已经丢失
登录后复制
输出:
【