Fusionar objetos en js

Varios métodos de fusión de objetos en js


Nuevo método de objeto en Es6: Object.assign ()

1. Uso básico: el
método Object.assign se utiliza para fusionar objetos, copiar todas las propiedades enumerables del objeto de origen (origen) al objeto de destino (destino).

const obj1 = {
    
    
  a: 1
}
const obj2 = {
    
    
  b: 2
}

Object.assign(obj1, obj2)
console.log(obj1); // { a: 1, b: 2 }
  • De hecho, esto puede fusionar dos objetos diferentes, pero el siguiente código no tiene el efecto esperado.
const obj1 = {
    
    
  id: 1,
  name: 'james'
}
const obj2 = {
    
    
  id: 2,
  name: 'curry'
}

Object.assign(obj1, obj2, obj2)
console.log(obj1);
  • La salida final es{ id: 2, name: 'curry' }
  • Solo se sobrescribe el objeto obj2, es decir, el objeto obj1, porque Object.assign () especifica que si el objeto fusionado tiene uno o más atributos con el mismo nombre, entonces el último objeto sobrescribirá el objeto anterior.

El método merge () en lodash

const _ = require('lodash')

const obj1 = {
    
    
  a: 1
}
const obj2 = {
    
    
  b: 2
}

_.merge(obj1, obj2)
console.log(obj1); // { a: 1, b: 2 }
  • De manera similar, si hay una o más de las mismas propiedades en un objeto, el último objeto sobrescribirá al objeto anterior.

Supongo que te gusta

Origin blog.csdn.net/weixin_40944062/article/details/105323979
Recomendado
Clasificación