前端点滴front-end tips
在使用 JavaScript 数组时,一个很常见的问题是如何清空数组并删除其所有元素。有几种方法可以解决这个问题,每种方法都各有利弊。
你可以通过将变量分配给一个空数组([]
)来清除它。尽管这种方法相当快,但你应该注意对原始数组的其它引用,因为它们会一直保持不变。而且对于声明为 const
的数组不起作用。
let a = [1, 2, 3, 4];
a = [];
更好的选择是将数组的 length
设置为 0
。这个方法也非常快,并且能够处理 const
变量。
let a = [1, 2, 3, 4];
a.length = 0;
Array.prototype.splice()
方法也是一个选择。尽管与前面的方法相比,它没有其他缺点,但性能似乎不太好,因此可能需要考虑一下。
let a = [1, 2, 3, 4];
a.splice(0, a.length);
最后一个是用 Array.prototype.pop()
,这种方法操作冗长,性能较低。
let a = [1, 2, 3, 4];
while (a.length) a.pop();