运行此位后:
var o1 = {
a: { x: 1, y: 2 }
};
var o2 = {
a: { z: 3 }
};
var result = $.extend(true, o1, o2);
我发现result
是{ a: { z: 3 } }
。有没有办法让它包含o1.a
和o2.a
的属性?
换句话说,有没有办法改变上面的脚本,以便result
:
{
a: { x: 1, y: 2, z: 3 }
}
编辑:代码错了。在修复参数顺序后,它实际上按预期工作。
答案 0 :(得分:5)
deep
参数首先出现。 jQuery.extend( [deep ], target, object1 [, objectN ] )
var o1 = {
a: { x: 1, y: 2 }
};
var o2 = {
a: { z: 3 }
};
var result = $.extend(true, o1, o2);
答案 1 :(得分:2)
如果要使用深层复制,则应将true
作为FIRST参数传递:
var result = $.extend(true, o1, o2);