Open In App

Lodash _.assignInWith() Method

Last Updated : 03 Nov, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Lodash _.assignInWith() method of Object in lodash is similar to _.assignIn the 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: 

  • The customizer used here can be called with five arguments namely objValue, srcValue, key, object, and source.
  • The object used here is altered by this method.

Syntax:

_.assignInWith(object, sources, [customizer])

Parameters:

  • object: It is the destination object.
  • sources: It is the source of objects.
  • customizer: It is the function that customizes assigned values.

Return Value:

This method returns the object.

Example 1: In this example, we are changing the value to the object by passing the source, destination object, and the modified value in the lodash _.assignInWith() method.

Javascript




// Requiring lodash library
const _ = require('lodash');
 
// Defining a function customizer
function customizer(objectVal, sourceVal) {
    return _.isUndefined(objectVal) ? sourceVal : objectVal;
}
 
// Calling assignInWith method with its parameter
let obj = _.assignInWith({ 'gfg': 1 }, { 'geek': 3 }, customizer);
 
// Displays output
console.log(obj);


Output:

{ gfg: 1, geek: 3 }

Example 2: In this example, we are changing the value to the function’s properties by passing the source, destination object, and the modified value in the lodash _.assignInWith() method.

Javascript




// Requiring lodash library
const _ = require('lodash');
 
// Defining a function customizer
function customizer(objectVal, sourceVal) {
    return _.isUndefined(objectVal) ? sourceVal : objectVal;
}
 
// Defining a function GfG
function GfG() {
    this.p = 7;
}
 
// Defining a function Portal
function Portal() {
    this.r = 9;
}
 
// Defining prototype of above functions
GfG.prototype.q = 8;
Portal.prototype.s = 10;
 
// Calling assignInWith method with its parameter
let obj = _.assignInWith({ 'p': 6 },
    new GfG, new Portal, customizer);
 
// Displays output
console.log(obj);


Output:

{ p: 6, q: 8, r: 9, s: 10 }

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



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads