a,b 的key都是相等的diffObject(a, b) { let before = [], after = [] Object.keys(a).forEach(key => { if (a[key] !== b[key]) { before.push({ ??? }) // 這里應該怎么寫,{key: a[key]},但key不能是變量啊 after.push({ ??? }) } }) return [before, after]}或者有什么更好,更效率,更牛逼的的辦法嗎?我要達到的效果是這樣的const ob1 = { name: '辣條', color: '綠色', length: 10,}const ob2 = { name: '辣條', color: '黃色', length: 12,}const diff = diffObject(ob1, ob2)console.log('diff[0]:', diff[0])console.log('diff[1]:', diff[1])// diff[0]: [{color: '綠色'}, {length: 10,}]// diff[1]: [{color: '黃色'}, {length: 12,}]這個問題的根本就是,在聲明一個對象時,如何把變量作為一個key。
如何將變量做為一個對象的key,push進一個數組?
牧羊人nacy
2018-11-22 15:10:30