最新消息:flex弹性布局更新完毕,阅读地址:http://www.01happy.com/css-flex/

JavaScript直接修改数组的长度length会发生什么

javascript 40浏览 0评论

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会发生什么

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址