如何在js中配置一个非常大的数组

时间:2013-02-19 16:19:54

标签: javascript

我有数千个简单对象的数组,我想处理它。

示例:

var array = [
   {name:"1"}, {name:"2"}, ..., {name:"32,000"}
]

我想只处理数组(我在其他地方引用了对象)。那么,下一个例子是否足以杀死数组?

示例:

var a1 = {name:"1"}, a2 = {name:"2"}, ... , a32000 = {name:"32,000"};

var array = [ a1, a2, ... , a32000 ];

array = null;

或者我应该做点什么:

for(var index in array) array[index] = null;
array = null;

1 个答案:

答案 0 :(得分:9)

如果删除对数组的所有引用,则将释放您未保留引用的数组中的任何元素,即垃圾回收器将能够回收其空间。

您无需手动将null数组元素设置为array = undefined; 。你的最后一个循环完全无用。

如果您只想回收数组的空间而不是其元素,只需删除对它的引用,

window.array = []

如果您的数组未存储在变量中但存储在属性中,例如定义为delete,那么您也可以使用delete window.array; // or yourObject.array

{{1}}

但你仍然必须删除对该数组的所有引用。