Tag: 深拷贝

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

使用slice(0)和concat()在javascript中将对象数组复制到另一个数组中不起作用。 我已经尝试了以下来testing,如果我得到预期的深拷贝使用这种行为。 但是,原来的数组也被修改后,我在复制的数组进行更改。 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) 我怎样才能做一个数组的深入副本到另一个,以便原始数组不会修改,如果我在副本数组中进行更改。