Combinando objetos con Lodash

Es cierto que los siguientes métodos proveen más características para combinar objetos, pero hoy vamos a cubrir el típico ejemplo de combinar “settings”:

let source = {
    title: 'Awesome',
    description: 'Awe-inspiring',
    derived: {
        awesomely: 'In a manner inspiring awe', 
        awesomeness: 'The quality of being awesome',
        awesomest: 'Superlative form of awesome: most awesome'
    }
};

let customizer = {
    title: undefined,
    description: 'Arousing awe through being nice',
    derived: {
        awesomely: 'Inspire kindness', 
        awesomeness: null,
        awesomest: undefined
    },
    synonyms: ['overwhelming', 'impressive'],
    antonym: 'boring',
};

_.assign(source, customizer)

assign

_.assign()

nota: _.extend es un alias de _.assign, por lo tanto funcionan igual.

_.merge(source, customizer)

merge

_.merge()

_.defaults(source, customizer)

defaults

_.defaults()

_.defaultsDeep(source, customizer)

defaultsDeep

_.defaultsDeep()