Método Lodash _.assignWith()

El método _.assignWith() de Object en lodash es similar al método _. asignar 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:

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

Parámetros: este método acepta tres parámetros, como se mencionó anteriormente y 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 _.assignWith() 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 assignWith method with its parameter
let obj = _.assignWith({ 'geeksforgeeks': 13 }, 
                       { 'GFG': 4 }, customizer);
  
// Displays output 
console.log(obj);

Producción:

{ geeksforgeeks: 13, GFG: 4 }

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 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);

Producción:

{ i: 10, j: 12 }

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

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *