Tengo dos objetos así:
var obj3 = { customer_id: 1, products: { id: 1, name: "Car" }, }; var obj4 = { customer_id: 1, products: { id: 2, name: "Dress" }, };y el objeto esperado es:
result = { customer_id: 1, products: [ { id: 1, name: "Car" }, { id: 2, name: "Dress" }, ], }; ¿Cómo puedo escribir el function customizer(){} en esta situación? Muchas gracias por su ayuda, y seré bienvenido para otra solución de manera diferente.
Combinar los objetos en un nuevo objeto (el {} ). Establezca los valores predeterminados de los valores combinados en matrices vacías. Si la clave son los products concátalos. Si no devuelve undefined , entonces se usaría la lógica estándar de _.merge() :
const obj3 = { customer_id: 1, products: { id: 1, name: "Car" }, }; const obj4 = { customer_id: 1, products: { id: 2, name: "Dress" }, }; const result = _.mergeWith({}, obj3, obj4, (v1 = [], v2 = [], key) => key === 'products' ? v1.concat(v2) : undefined ) console.log(result) <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>