[Copia profunda y copia superficial]

1. Definición

Copiar significa copiar. ¿Qué hace la copia? Es copiar una matriz. Pero durante el proceso de copia, a veces no queremos cambiar la matriz original, solo queremos cambiar la matriz copiada. En este momento usamos copia profunda .

2. Métodos para implementar copia profunda

Copia profunda: al copiar una matriz, las referencias en la matriz no se traerán, pero se obtendrá una matriz nueva. Nuestras operaciones en esta nueva matriz no afectarán la
matriz original.

1. Serialización y deserialización

let obj=[{
    
    name:"小明"}];
let newArr =  JSON.parse(JSON.stringify(obj));

2. Lodash es una biblioteca de herramientas JavaScript de uso común que proporciona muchas funciones de herramientas prácticas, incluida la función de copia profunda cloneDeep (). Utilice el método lodash.cloneDeep()

var obj = {
    
    a: 1, b: {
    
    c: 2}};
var copy = _.cloneDeep(obj);

Copia superficial: la referencia se traerá al copiar y cambiar la nueva matriz también afectará la matriz original (solo los datos de referencia en la aguja)

Implementar copia superficial
1. Símbolo de asignación =
2. Usar el método Object.assign()

var obj = {
    
    a: 1, b: {
    
    c: 2}};
var copy = _.cloneDeep(obj);

3. Utilice el operador de extensión

var obj = {
    
    a: 1, b: 2};
var copy = {
    
    ...obj};

Supongo que te gusta

Origin blog.csdn.net/ABidMan/article/details/130401260
Recomendado
Clasificación