首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在javascript中将对象数组复制到另一个数组中(深度复制)

在javascript中将对象数组复制到另一个数组中(深度复制)
EN

Stack Overflow用户
提问于 2015-02-13 00:25:49
回答 7查看 45.7K关注 0票数 24

在javascript中,使用slice(0)和concat()将对象数组复制到另一个数组中不起作用。

我已经尝试了下面的方法来测试我是否使用它获得了深度复制的预期行为。但在我对复制的数组进行更改后,原始数组也会被修改。

代码语言:javascript
复制
var tags = [];
for(var i=0; i<3; i++) {
    tags.push({
        sortOrder: i,
        type: 'miss'
    })
}
for(var tag in tags) { 
    if(tags[tag].sortOrder == 1) {
        tags[tag].type = 'done'
    }
}
console.dir(tags)

var copy = tags.slice(0)
console.dir(copy)

copy[0].type = 'test'
console.dir(tags)

var another = tags.concat()
another[0].type = 'miss'
console.dir(tags)

如何将一个数组深度复制到另一个数组中,以便在对复制数组进行更改时不会修改原始数组。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28482593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档