我有2个对象,并使用jQuery.extend
函数将它们组合在一起。合并对象有数组,并保持数组的两个值
john_5_years_ago = {
name: "john",
company: "google",
languages: ["c++", "java"]
}
john_now = {
name: "john",
company: "facebook",
nation: "US",
languages: ["python", "java", "javascript"]
}
$.extend(true, {}, john_5_years_ago, john_now)
它返回的结果是这样的:
{
name: "john",
company: "facebook",
nation: "US",
languages: ["python", "java", "javascript"]
}
但我预计languages
阵列的价值应该被合并,不会被覆盖。预期的结果应该是这样的:
{
name: "john",
company: "facebook",
nation: "US",
languages: ["python", "java", "javascript", "c++"]
}
我会感激任何想法。
谢谢,你解释给我一个线索。我发现了其他解决方案,有点棘手。我通过在第243行后面添加'copy = _.union(src,copy)'来重新实现函数'jQuery.extend''。就是这样,'jQuery.extend'可以工作! – LittleZero
多数民众赞成在...欢迎:) – jafarbtech