人只有献身于社会,才能找出那短暂而有风险的生命的意义。 ——<阿尔伯特·爱因斯坦>
定义一个数组,并想清空其内容。通常,您可以这样操作:
1 | // define Array |
还有另一种方法可以清空性能更高的数组。
使用如下代码:
1 | var list = [1, 2, 3, 4]; |
-
list = []
将对新数组的引用分配给变量,而其他任何引用均不受影响。这意味着对先前数组内容的引用仍保留在内存中,从而导致内存泄漏。 -
list.length = 0
删除数组中的所有内容,并击中其他引用。
换句话说,如果您有两个对同一个数组(a = [1,2,3]; a2 = a;)
的引用,并且使用删除了该数组的内容 list.length = 0
,则两个引用(a和a2)现在都将指向同一空数组。(因此,如果您不希望a2持有一个空数组,请不要使用此技术!)
1 | var foo = [1,2,3]; |
参考
- https://www.jstips.co/en/javascript/two-ways-to-empty-an-array/
- https://stackoverflow.com/questions/4804235/difference-between-array-length-0-and-array
关注【公众号】,了解更多。
赞赏一下 坚持原创技术分享,您的支持将鼓励我继续创作!