【发布时间】:2013-01-26 17:49:58
【问题描述】:
我有一个 JavaScript 对象数组,它用一些值初始化。 我想将这些值复制到一个新的对象数组中,但不引用原始对象,这样我就可以操作新对象了。
我在这个示例代码中尝试了objectOptions.concat(),但它也删除了引用的原始对象:
var objectOptions = [{option1: 'value1', someOption: 'value2'}];
function objectClean(){
var newObjectOptions = objectOptions.concat();
for(var i in newObjectOptions ) {
delete newObjectOptions[i]['someOption'];
}
return newObjectOptions ;
};
【问题讨论】:
-
谢谢!我没有想到 jQuery,我正在尝试原生 Javascript 方法。它可以关闭。
-
什么?不,不要使用 jQuery!哪里说要使用 jQuery?
-
在您发布的问题的已接受答案中。我试过了,它很适合我想做的事情。
-
该答案是由 jQuery 的创建者编写的,是的,如果您使用的是 jQuery,它可以工作。但是为此必须使用 jQuery 是无稽之谈(我猜这就是 @Nile 的意思)。这个问题和答案如此受欢迎,这很糟糕,因为人们会被误导,认为他们需要 jQuery 来克隆对象。不幸的是,有许多问题作为该问题的副本而关闭。
标签: javascript jquery