javascript - 在 jQuery 中合并对象,具有 $.extend 函数的相反效果

标签 javascript jquery

简单问题 - 假设我们有这两个对象:

var obj={str:'',int:0,bool:false,arr:[]};
var paramObj={str:'Hey',bool:true};

jQuery 中的 .extend() 函数的工作原理如下:(据我所知)

$.extend(obj,paramObj);
// obj={str:'Hey',int:0,bool:true,arr:[]};

但我想要像这样工作的东西,但相反,就像这样:

$.extendRev(paramObj,obj);
// paramObj={str:'Hey',int:0,bool:true,arr:[]};

jQuery(或 native )语言中是否有这样的函数,它将两个对象合并在一起,将对象值保留在第一个对象中,仅添加第二个对象中的对象值(如果第一个对象中尚不存在)。

或者我必须从头开始编写代码吗?

最佳答案

您可以简单地使用一个空对象作为起点:

$.extend({},obj,paramObj);

Chrome的控制台显示结果是

Object {str: "Hey", bool: true, int: 0, arr: Array[0]}

关于javascript - 在 jQuery 中合并对象,具有 $.extend 函数的相反效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21263037/

相关文章:

javascript - 在 Chrome 中执行 applescipt 代码之前等待页面加载

javascript - 为什么要检查未定义的类型而不是仅仅检查值?

javascript - 在窗口调整大小时调用移动菜单功能

javascript - 未捕获的异常 : Syntax error, 无法识别的表达式:#

javascript - 通过查询替换/写入文件中的代码

javascript - jQuery slider 图像居中建议

javascript - 根据来自 JSON 响应的时间戳值对数组进行排序

java - Java 中类似 Facebook 的通知实现

jquery - 重构这个 jQuery(看起来很臃肿)

javascript - 如何获取有关 .innerText 的所有样式信息