El método _.assignInWith() de Object en lodash es similar a _. asignarEn el método y la única diferencia es que acepta el personalizador que se llama para generar el valor asignado. Además, si el personalizador utilizado aquí devuelve indefinido, la asignación se trata en su lugar con el método.
Nota:
- El personalizador utilizado aquí se puede llamar con cinco argumentos, a saber, objValue, srcValue, key , object y source.
- El objeto usado aquí es alterado por este método.
Sintaxis:
_.assignInWith(object, sources, [customizer])
Parámetros: Este método acepta tres parámetros como se describe a continuación:
- objeto: Es el objeto de destino.
- fuentes: Es la fuente de los objetos.
- personalizador: Es la función que personaliza los valores asignados.
Valor devuelto: este método devuelve el objeto.
Los siguientes ejemplos ilustran el método Lodash _.assignInWith() en JavaScript:
Ejemplo 1:
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);
Producción:
{ gfg: 1, geek: 3 }
Ejemplo 2:
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);
Producción:
{ p: 6, q: 8, r: 9, s: 10 }
Referencia: https://lodash.com/docs/4.17.15#assignInWith
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA