如何返回两个对象之间已更改(差异)的属性?
在我的代码中,我设置了一个全局变量products_diy
来存储数据。当我更改页面上过滤器的值时,值products_diy
将相应更改。我想获得在原始值和当前值之间改变(差异)的值products_diy
。
我太难写这个比较函数了。有人帮忙吗?
function obj_diff(o2, o1) {
var obj = {};
for (var i in o1) {
var item_type = typeof o2[i];
if (item_type != 'undefined') {
//...
}
}
return obj;
}
var products_diy1 = {
'zone': [1, 2],
'category': {
'c0': '1'
},
'fitler': {
'price': {
'switcher': 'true',
'price_start': '30',
'price_end': '50'
}
}
}
var products_diy2 = {
'zone': [1, 2, 3],
'category': {
'c0': '1'
},
'fitler': {
'price': {
'switcher': 'true',
'price_start': '30',
'price_end': '80'
}
}
}
/* -------
compare 2 objects
if the item in o2 is not the same with the o1,
join item to returned obj
obj_diff = {
'zone': [1, 2, 3],
'fitler': {
'price': {
'switcher': 'true',
'price_start': '30',
'price_end': '80'
}
}
}
------- */