【发布时间】:2016-04-27 11:56:28
【问题描述】:
我正在尝试了解 jquery 扩展方法,根据 API documentation
$.extend() 执行的合并默认不是递归的;如果一个 第一个对象的属性本身是一个对象或数组,它将是 在第二个中被具有相同键的属性完全覆盖 或后续对象。值未合并。
它说数组或对象属性不会合并,将被替换。在下面的示例中,参数是 JSON 数组,它正在合并而不是被替换。
var a = {
external : true,
parameter : [{name:'ip1'},{name:'ip2'},{name:'ip3'}]
};
var b = {
data:'Sumeet',
parameter : [{name:'ip1'},{name:'ip2'}]
};
$.extend(true,a,b);
console.log(a);
Output :
{
data: "Sumeet",
external: true,
parameter: [{
name: "ip1"
}, {
name: "ip2"
}, {
name: "ip3"
}]
}
参数应该只有ip1和ip2
【问题讨论】:
标签: javascript jquery arrays json