JavaScript要获取数组的长度可以通过 length 属性进行获取。
let arr = [1, 2, 3]; console.log(arr.length); // 3
length这个属性是根据arr的元素数量来定的,那么如果直接修改这个属性会怎么样呢?下面来试试看。
数组length属性修改
改小一点:
let arr = [1, 2, 3]; arr.length = 2; console.log(arr); // [1, 2]
发现改小之后,最后一个元素就直接被咔嚓掉了。
改大一点:
let arr = [1, 2, 3]; arr.length = 5; console.log(arr); // [1, 2, 3, 空属性 × 2]
改大一点发现多了两个空属性出来
那么空属性是什么东西呢?
console.log(arr[3]); // undefined console.log(arr[4]); // undefined
打印出来发现是 undefined 。
数组length属性作用
除了获取数组长度外,还有一些下面的作用。
1. 获取最后一个元素
let arr = [1, 2, 3]; console.log(arr[arr.length - 1]); // 3
2. 在数组末尾添加元素
let arr = [1, 2, 3]; arr[arr.length] = 4; // 此时length=3,相当于 arr[3] = 4 arr[arr.length] = 5; // 此时length=4,相当于 arr[4] = 5 console.log(arr); // [1, 2, 3, 4, 5]
这里数组的长度,每添加完一个元素后会自动加1。
非常方便的技巧。
转载请注明:快乐编程 » JavaScript直接修改数组的长度length会发生什么