1
javascript中的任何构建函数(或共享开源函数的人员)都可以比较两个对象吗?并获得一份报告,说明添加,删除了什么,以及哪些键的值已更改?对象比较报告
基本例如:(我的真实情况有更多的嵌套/复杂的对象)
var o1 = {a: true, b: false, c: false, z: {a:false}}
var o2 = {b:'hi', c:false, d: 5, z:{a:true,b:false}}
所以比较O2到O1:
我希望输出这样的:
var changes = {a:{was:true,is_now:null}, b:{was:false,is_now:'hi'}, d:{was:null,is_now:5},z:{a:{was:false,is_now:true},b:{was:null,is_now:false}}}
OR可能返回三个对象。
var keysAdded = ['d', 'z.b']
var keysRemoved = ['a'];
var keyValPairOfChanges = {b:{was:false,is_now:true}, 'z.a':{was:false,is_now:true}}
有什么想法? 谢谢!
谢谢这真是太棒了! :) ps:HAHAHAAH在一些虚拟的单词中:P – Noitidart 2014-11-15 00:20:33
非常欢迎您!祝你好运,这似乎是一个非常棘手的问题 – 2014-11-15 00:23:14