Tengo dos objetos obj1 y obj2.
cuando me fusiono con:
const obj1 = { error_to_retrieve: "teste", error_to_search_customer: "", error_to_sync_timezone: "", error_to_update_avatar: "", error_to_update_profile: "", error_to_validate_customer_token: "", expired_session: "", invalid_token: "", invalid_token_text: "" } const obj2 = { error_to_retrieve: "test", error_to_search_customer: "test", error_to_sync_timezone: "test", error_to_update_avatar: "test", error_to_validate_customer_token: "test", expired_session: "test", invalid_token: "test", invalid_token_text: "test" } const obj3 = {...obj1, ...obj2}; console.log(obj3);Obtengo el obj2 completo y no tiene la clave error_to_update_profile.
¿Cómo mantengo la clave del primer objeto que mi segundo no tiene?
Use Object.prototype.hasOwnProperty() para verificar si sus objetos finales tienen la clave de propiedad error_to_update_profile . La función devuelve true , lo que demuestra que la fusión funcionó perfectamente bien según lo previsto.
const obj1 = { error_to_retrieve: "teste", error_to_search_customer: "", error_to_sync_timezone: "", error_to_update_avatar: "", error_to_update_profile: "", error_to_validate_customer_token: "", expired_session: "", invalid_token: "", invalid_token_text: "" }; const obj2 = { error_to_retrieve: "test", error_to_search_customer: "test", error_to_sync_timezone: "test", error_to_update_avatar: "test", error_to_validate_customer_token: "test", expired_session: "test", invalid_token: "test", invalid_token_text: "test" }; const obj3 = { ...obj1, ...obj2 }; console.log(obj3.hasOwnProperty("error_to_update_profile"));Puede cambiar el orden de lo que escribe, es decir, lo que ponga al final sobrescribirá todas las entradas anteriores { ...obj2, ...obj1 } → obj1 sobrescribirá obj2 si hay claves duplicadas