2016-10-03 3 views
1

Я пытаюсь разбить два объекта и получать обновления.Разница двух объектов и получение только обновлений

let alpha = { 
brown: true, 
green: true, 
blue: true 
} 

let beta = { 
green: false, 
} 

doSomething(alpha, beta) // => {green: false} 

let alpha = { 
brown: true, 
green: true, 
blue: true 
} 

let beta = { 
green: true, 
} 

doSomething(alpha, beta) // => false 

До сих пор это то, что у меня есть.

let alphaSameKeys = pick(alpha, Object.keys(beta)) 
console.log(alpha) // => {green: true} 

Как это сделать, используя lodash?

+0

Я бы заглянул в https://github.com/benjamine/jsondiffpatch – Enkode

ответ

0

Простые мелкие различия.

export function diffObject (source, incoming) { 
    let res = pickBy(incoming, (value, key) => { 
    if (value !== source[key]) return true 
    if (!source[key]) return true 
    return false 
    }) 
    if (!size(res)) return false 
    return res 
}