Lodash | Método _.clon()

El método _.clone() se usa para crear una copia superficial del valor. Este método admite arrays de clonación, búferes de arrays, valores booleanos, objetos de fecha, mapas, números, objetos de objeto, expresiones regulares, conjuntos, strings, símbolos y arrays escritas. Se basa libremente en el algoritmo de clonación estructurada.

Sintaxis:

_.clone( value )

Parámetros: este método acepta un solo parámetro como se mencionó anteriormente y se describe a continuación:

  • value: este parámetro contiene el valor que debe clonarse.

Valor devuelto: este método devuelve la copia superficial del valor.

Ejemplo 1: Clonación de objetos simples

javascript

const _ = require('lodash');
  
var obj = {
    x: 23
};
  
// Shallow copy
var shallowCopy = _.clone(obj);
  
console.log('Comparing original with'
    + ' shallow ', obj === shallowCopy);
  
obj.x = 10; // Changing original value
  
console.log('After changing original value');
  
console.log("Original value ", obj);
  
console.log("Shallow Copy value ", shallowCopy);

Aquí, const _ = require('lodash')se utiliza para importar la biblioteca lodash al archivo.

Producción:

Comparing original with shallow  false
After changing original value
Original value  { x: 10 }
Shallow Copy value  { x: 23 }

Ejemplo 2: Clonación de objeto complejo

javascript

const _ = require('lodash');
   
var obj = [{  x: 1 }, {y: 2}];
  
// Shallow copy
var shallowCopy = _.clone(obj);
   
console.log('Comparing original with shallow ',
            obj[0] === shallowCopy[0]);
   
// Changing original value
obj[0].x = 10;
   
// Values after changing original value
console.log("After changing original value");
   
console.log("Original value ", obj);
   
console.log("Shallow Copy value ", shallowCopy);

Producción:

Comparing original with shallow  true
After changing original value
Original value  [ { x: 10 }, { y: 2 } ]
Shallow Copy value  [ { x: 10 }, { y: 2 } ]

Entonces, aquí hemos visto que después de cambiar el valor original, el valor de copia superficial también cambió porque _.clone() no copia profundamente, simplemente pasó la referencia.

Nota: Esto no funcionará en JavaScript normal porque requiere que se instale la biblioteca lodash.

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

Publicación traducida automáticamente

Artículo escrito por iamsahil1910 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 *