在使用 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();