2

可能重复:
使用 Javascript/JQuery 的 JSON 对象的差异

如何返回两个对象之间已更改(差异)的属性?

在我的代码中,我设置了一个全局变量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'
        }
    }
}



------- */
4

0 回答 0