如何在JavaScript中清空一个数组?
在使用JavaScript数组时,一个非常常见的问题是如何清空一个数组并删除所有元素。事实上,有几种方法可以做到这一点,每种方法都有其优缺点。
将其赋值为空数组
你可以将变量赋值为空数组([]
)以清空它。虽然这个选项相当快速,但你应该注意对原始数组的引用,因为它们将保持不变。此外,它不适用于声明为const
的数组。
let a = [1, 2, 3, 4];
a = [];
将其长度设置为0
更好的选择是将数组的length
设置为0
。这个选项也非常快速,并且还有一个额外的好处,就是适用于const
变量。
let a = [1, 2, 3, 4];
a.length = 0;
使用Array.prototype.splice()
Array.prototype.splice()
也可以是清空数组时有用的替代方法。虽然它与前一种方法相比没有其他缺点,但似乎性能不如前一种方法,所以这可能是需要考虑的一点。
let a = [1, 2, 3, 4];
a.splice(0, a.length);
使用Array.prototype.pop()
最后但并非最不重要的是,使用Array.prototype.pop()
是另一种更老式的选项。它通常更冗长且性能较差,所以我更愿意使用前面的方法之一。
let a = [1, 2, 3, 4];
while (a.length) a.pop();