El método _.updateWith() acepta una función de personalización que se invoca para producir los objetos de la ruta. Si la función del personalizador devuelve una ruta indefinida, la creación la maneja el método. Es casi lo mismo que la función _.update().
Sintaxis:
_.updateWith(object, path, updater, [customizer])
Parámetros: este método acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación:
- objeto: Este parámetro contiene el objeto a modificar.
- ruta: este parámetro contiene la ruta de la propiedad a establecer. Será una array o string.
- actualizador: Esta es la función para producir el valor actualizado.
- personalizador: este parámetro contiene la función para personalizar los valores asignados.
Valor devuelto: este método devuelve el objeto.
Ejemplo 1:
Javascript
// Requiring the lodash library const _ = require("lodash"); // The source object var obj = {}; // Use of _.updateWith() method let gfg = _.updateWith(obj, '[0][1]', _.constant('y'), Object); // Returning the new object console.log(gfg);
Producción:
{ '0': { '1': 'y' } }
Ejemplo 2:
Javascript
// Requiring the lodash library const _ = require("lodash"); // The source object var obj = { 'cpp': [{ 'java': { 'python': 3 } }] }; // Use of _.updateWith() method _.updateWith(obj, 'cpp[0].java.python', function(n) { return n * n; }); // Returning the updated object value console.log(obj.cpp[0].java.python);
Producción:
9
Nota: Esto no funcionará en JavaScript normal porque requiere que se instale la biblioteca lodash.