Open In App

Lodash _.assignWith() Method

Lodash _.assignWith() method of Object in lodash is similar to the _.assign method and the only difference is that it accepts customizer which is called in order to generate assigned value. Moreover, if the customizer used here returns undefined then the assignment is dealt with by the method instead.

Note:

Syntax:

_.assignWith(object, sources, [customizer]);

Parameters:

Return Value:

This method returns the object.



Example 1: In this example, we are checking whether the given value is undefined or not and return the value according to the custom function by the use of the lodash _.assignWith() method.




// Requiring lodash library
const _ = require('lodash');
 
// Defining a function customizer
function customizer(objectVal, sourceVal) {
    return _.isUndefined(objectVal) ? sourceVal : objectVal;
}
 
// Calling assignWith method with its parameter
let obj = _.assignWith({ 'geeksforgeeks': 13 },
    { 'GFG': 4 }, customizer);
 
// Displays output
console.log(obj);

Output:



{ geeksforgeeks: 13, GFG: 4 }

Example 2: In this example, we are checking whether the given value is undefined or not and return the value according to the custom function by the use of the lodash _.assignWith() method.




// Requiring lodash library
const _ = require('lodash');
 
// Defining a function customizer
function customizer(objectVal, sourceVal) {
    return _.isUndefined(objectVal) ? sourceVal : objectVal;
}
 
// Defining a function Num1
function Num1() {
    this.i = 11;
}
 
// Defining a function Num2
function Num2() {
    this.j = 12;
}
 
// Defining prototype of above functions
Num1.prototype.k = 13;
Num2.prototype.l = 14;
 
// Calling assignWith method with its parameter
let obj = _.assignWith({ 'i': 10 },
    new Num1, new Num2, customizer);
 
// Displays output
console.log(obj);

Output:

{ i: 10, j: 12 }

Reference: https://lodash.com/docs/4.17.15#assignWith


Article Tags :