数组 length 为 0 时访问元素
设置数组 length 为 0 后访问元素的返回值
问题
将数组的 length 设置为 0 后,访问第一个元素会返回什么?
解答
设置 length = 0 会清空数组,此时访问任何索引位置的元素都会返回 undefined。
const arr = [1, 2, 3, 4, 5];
console.log(arr[0]); // 1
arr.length = 0;
console.log(arr[0]); // undefined
console.log(arr); // []
这是因为设置 length 为 0 会删除数组中的所有元素,数组变成空数组。访问不存在的索引位置时,JavaScript 返回 undefined。
const arr = ['a', 'b', 'c'];
arr.length = 0;
console.log(arr.length); // 0
console.log(arr[0]); // undefined
console.log(arr[1]); // undefined
关键点
- 设置
length = 0会清空数组的所有元素 - 访问空数组的任何索引都返回
undefined - 这是一种快速清空数组的方法
目录