返回两个对象之间的差异

时间:2012-12-25 03:26:46

标签: javascript object

  

可能重复:
  Difference in JSON objects using Javascript/JQuery

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

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



------- */

0 个答案:

没有答案