Javascript使用函数复制对象的嵌套数组
嗨Javascript使用函数复制对象的嵌套数组,javascript,arrays,object,copy,Javascript,Arrays,Object,Copy,嗨我想用函数复制javascript中的对象数组 我有这样的东西 var User = function() { this.name = ''; var surname = ''; function f() { //some function here } this.sayHello = function() { console.log( 'Hello ' + this.name + ' ' + surname )
我想用函数复制javascript中的对象数组 我有这样的东西
var User = function() {
this.name = '';
var surname = '';
function f() {
//some function here
}
this.sayHello = function() {
console.log( 'Hello ' + this.name + ' ' + surname )
}
}
var arr = [];
arr.push([ new User(), new User()]);
arr.push([ new User(), new User()]);
正如你们所看到的,我有一些私有和公共属性的对象,声明了这个,战争,私有和公共函数
是否有复制此数组的方法?
我使用这种方法
function copy( arr ) {
var c = [];
for( var i = 0; i < arr.length; i ++ ) {
c.push(arr[i].concat([]));
}
}
是否有方法使用函数复制嵌套的对象数组?
比您更好。一个适用于所有情况的好解决方案是。没有内置的解决方案。而且,在保持原型链的同时,创建它并不一定简单@UtsavShah真的没有一个深度拷贝解决方案可以适用于所有情况;这是一个非常重要的问题。然而,你提供的链接可能是最好的开始:)你是对的@Pointythank you all。但我还有一个问题。我可以用函数复制对象吗?一个适用于所有情况的很好的解决方案是。没有一个内置的。而且,在保持原型链的同时,创建它并不一定简单@UtsavShah真的没有一个深度拷贝解决方案可以适用于所有情况;这是一个非常重要的问题。然而,你提供的链接可能是最好的开始:)你是对的@Pointythank you all。但我还有一个问题。我可以用函数复制对象吗?
var arr2 = copy(arr)
arr[0][0].name = 'name';
console.log(arr2[0][0].name) // prints 'name'