如何清空 JavaScript 数组

有多种方法可以在 JavaScript 中清空一个数组。清空数组意味着从中删除所有值。

在本文中,我将展示和解释两种清除数组的方法。

如何通过修改 Length 属性清空数组

数组的长度属性是可读、可写的。

当你读取属性(array.length)时,它会返回数组的长度,即其中值的数量。当你编写属性(即修改数组,如 array.length = 10)时,它会更改数组的长度和其中的值的数量。

如果修改后的长度小于原始长度,多余的值将被删除。

const array = [1, 2, 3]
array.length = 2

console.log(array)
// [1, 2]

因为新的长度小于原来的长度,多余的值(在这种情况下为 3)被删除。

但是,如果新长度大于原始长度,则数组将填充 undefined 值以弥补新长度:

const array = [1, 2, 3]
array.length = 4

console.log(array)
// [1, 2, 3, undefined]

现在你已经了解了如何使用 length 属性来修改数组,下面是如何清空数组:

const array = [1, 2, 3]
array.length = 0

console.log(array)
// []

长度为 0 时,数组中的每个值都被删除,数组变为空。

如何通过重新赋值来清空数组

你可以将新值(空数组)重新分配给最初分配有非空数组的变量。

如果你用 const 声明一个变量,你不能重新分配它:

const array = [1, 2, 3]
array = []

console.log(array)

上面的代码会抛出 TypeError: Assignment to constant variable 错误。但是如果你用 let 声明了这个变量,你就可以用一个空数组值重新分配它:

let array = [1, 2, 3]
array = []

console.log(array)
// []

现在,你有了空数组。

感谢你的阅读,祝你编程愉快!