清空数组的两种方法
如果你定义了一个数组,然后你想清空它。
通常,你会这样做:
1 | // 定义一个数组 |
但是,这有一个效率更高的方法来清空数组。
你可以这样写:
1 | var list = [1, 2, 3, 4]; |
list = []
将一个新的数组的引用赋值给变量,其他引用并不受影响。
这意味着以前数组的内容被引用的话将依旧存在于内存中,这将导致内存泄漏。list.length = 0
删除数组里的所有内容,也将影响到其他引用。
然而,如果你复制了一个数组(A 和 Copy-A),如果你用list.length = 0
清空了它的内容,复制的数组也会清空它的内容。
考虑一下将会输出什么:
1 | var foo = [1,2,3]; |
更多内容请看Stackoverflow:
difference-between-array-length-0-and-array
原文作者: anhr
原文链接: http://yoursite.com/2019/11/04/javascript/2016-01-22-two-ways-to-empty-an-array/
版权声明: 转载请注明出处(必须保留原文作者署名原文链接)