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