我在JavaScript中有一个如下所示的对象:
var obj = {
key: [1],
key2: [2],
key3: [3]
};
我最终最终将其中一个元素复制到另一个键下的对象中:
obj.key4 = obj.key.slice ()
哪个应创建密钥和副本的副本把它放入key4。这样做 - 在此之后,新的key4被添加到对象中。
然而,我然后删除原始数组(在键下):
delete obj.key;
似乎垃圾收集器运行后,key4下的值也会被删除。我已经尝试过引用obj.key而不进行切片,这会产生同样的问题。
似乎我唯一能够解决的问题是不删除obj.key,但这会在以后的代码中产生错误。 我也试过这个,代替删除:
obj.key = null;
但这也会导致同样的问题 - key4将从对象中删除。我试过重写我的代码&重组对象,但我遇到了同样的问题。我在这里找不到什么东西?