简单问题 - 假设我们有这两个对象:
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/