devolver un solo objeto. devuelve el segundo parámetro con los valores del primer parámetro. parámetro de retorno no codificado.
function addPropertiesToObject(obj1, obj2) { var param = {} for (var things in obj1) { param[things] = obj1[things]; } for (var things in obj2) { param[things] = obj2[things]; } return param; }Nuevamente, si ambos objetos tienen la misma clave, ese valor será sobrescrito por el segundo.
Edite para mostrar la adición de obj1 a obj2 en lugar de obj2 a obj1
function addPropertiesToObject(obj1, obj2) { var param = {} for (var things in obj2) { param[things] = obj2[things]; } for (var things in obj1) { param[things] = obj1[things]; } return param; } const obj1 = {name: "John"} const obj2 = {name: "Jane"} const obj3 = {email: "example@domain.com"} console.log(addPropertiesToObject(obj1,obj2)) //Return: {name: "John"} console.log(addPropertiesToObject(obj1,obj3)) //Return: {email: "example@domain.com", name: "John"}También puede lograr esto sin hacer un bucle
function addPropertiesToObject(obj1, obj2) { return {...obj2,...obj1} } const obj1 = {name: "John"} const obj2 = {name: "Jane"} const obj3 = {email: "example@domain.com"} console.log(addPropertiesToObject(obj1,obj2)) //Return: {name: "Jane"} console.log(addPropertiesToObject(obj1,obj3)) //Return: {email: "example@domain.com", name: "John"}Si desea conservar el contenido de ambos objetos, puede hacer algo como:
function addPropertiesToObject(obj1, obj2) { var param = {...obj2} for (var things in obj1) { if(param[things]) param[things] = [param[things], obj1[things]] else param[things] = obj1[things]; } return param; } const obj1 = {name: "John"} const obj2 = {name: "Jane"} const obj3 = {email: "example@domain.com"} console.log(addPropertiesToObject(obj1,obj2)) //Return: {name: ["Jane","John"]} console.log(addPropertiesToObject(obj1,obj3)) //Return: {email: "example@domain.com", name: "John"}O cambiando el nombre de la clave como:
function addPropertiesToObject(obj1, obj2) { var param = {...obj2} for (var things in obj1) { if(param[things]) param[things+"1"] = obj1[things] else param[things] = obj1[things]; } return param; } const obj1 = {name: "John"} const obj2 = {name: "Jane"} const obj3 = {email: "example@domain.com"} console.log(addPropertiesToObject(obj1,obj2)) //Return: {name: "Jane", name1: "John"} console.log(addPropertiesToObject(obj1,obj3)) //Return: {email: "example@domain.com", name: "John"}