No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

1D
18H
25M
16S

Playground: Combina objetos JSON con el Spread Operator

9/35

Aportes 111

Preguntas 8

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

驴Tambien pulsaroncontrol + S? xd

Aca mi aporte, simplificando un poco , y formateado para mejor lectura.

export function solution(
  json1 = {
    name: 'Mr. Michi',
    food: 'Pescado',
  },
  json2 = {
    age: 12,
    color: 'Blanco',
  }
) {
  return { ...json1, ...json2 };
}

Hermanos, esto 隆EST脕 DE LOCOS! Am茅 esta implementaci贸n para poder practicar鈥

yo le tir茅 esa鈥 * ruidito de mate *

export function solution(json1, json2) {
  json1 = json1 || { name: "Mr. Michi", food: "Pescado" };
  json2 = json2 || { age: 12, color: "Blanco" };

  return { ...json1, ...json2 }
}

隆Esto, est谩 genial!!! Me gusta esta implementaci贸n. Me acost茅 algo tarde estudiando y veo que a帽adieron esta maravilla.

Muy buena funcionalidad, me gust贸 muhco. En lo que tuve dificultades es en entender las instrucciones y en que cosas deb铆a modifcar y cuales no ya que al inicio dice que el c贸digo va en la segunda linea pero en la soluci贸n si tocan el input de la primera linea.

Excelente implementaci贸n, deber铆an considerar evaluar cada tema de esta manera e implementarlo en el examen final del curso.

yo pense que mi codigo estaba mal por que no me aparecia nada en la consola, pero era por que estaba solo llamando a la funcion solution(); , y tenia que llamarlo con console.log(solution());

function solution(
    json1 = {
        name: "Mr. Michi",
        food: "Pescado",
    },
    json2 = {
        age: 12,
        color: "Blanco",
    }
) {
    return {
        ...json1,
        ...json2,
    };
}
console.log(solution());

La calidad de platzi va en aumento, sin duda es una plataforma educativa que comprende a cabalidad lo que significa aprender :鈥)

Esta es mi solucion que en mi editor funciona pero aca no.

export function solution(json1, json2) {
  // Tu c贸digo aqu铆 馃憟
  let res = {...json1, ...json2}
  return res
}

const jason1 = {
  name: "Mr. Michi",
  food: "Pescado"
}

const jason2 = {
  age: 12,
  color: "Blanco"
}

console.log(solution(jason1,jason2))

ac谩 est谩 mi soluci贸n
Para evitar spoiler

.
.
.
.
.
.
.
.

export function solution(json1 = { name: 'Mr. Michi', food: 'Pescado' }, json2 = { age: 12, color: 'Blanco' }) {
  
  return { ...json1, ...json2 };
}

Aqu铆 esta la soluci贸n de este ejercicio, le hice con el Nullish coalescing operator

export function solution(json1, json2) {
  json1 ?? { name: "Mr. Michi", food: "Pescado" },
    json2 ?? { age: 12, color: "Blanco" }

  return { ...json1, ...json2 }
}

Mi respuesta, ojo se spoilea.

Se me olvid贸 usar los par谩metros por defecto que nos ense帽aron!!

function solution(json1, json2) {
    if (json1 === undefined && json2 === undefined) {
        let json1 = { name: "Mr. Michi", food: "Pescado" };
        let json2 = { age: 12, color: "Blanco" };
        let data = { ...json1, ...json2 };
        return data;
    }else if(json1 === undefined) {
        let json1 = { name: "Mr. Michi", food: "Pescado" };
        let data = { ...json1, ...json2 };
        return(data);
    }else if(json2 === undefined) {
        let json2 = { age: 12, color: "Blanco" };
        let data = { ...json1, ...json2 };
        return(data);
    }else {
        let data = { ...json1, ...json2 };
        return(data)
    }
}

solution({ name: "Pepito", food: "Pancito" }, { age: 22, color: "Verde" });
const obj1 = {
  name: "Mr. Michi",
  food: "Pescado",
};

const obj2 = {
  age: 12,
  color: "Blanco",
};

export function solution(json1 = obj1, json2 = obj2) {
  const data = { ...json1, ...json2 };

  return data;
  // Tu c贸digo aqu铆 馃憟
}

Waos, pues se le pone los tres puntos a todos los objetos xd.

export function solution(json1 = {
  name: "Mr. Michi",
  food: "Pescado"
}, json2 = {
  age: 12,
  color: "Blanco"
}) {
  return { ...json1, ...json2 }
}

Mi soluci贸n:

function solution(json1 = {name: "Mr. Michi", food: "Pescado"}, json2 = {age: 12, color: "Blanco"}) {
        let json3 = {...json1, ...json2}
        return json3;
}

(L)

const JSON1 = {
  name: "Mr. Michi",
  food: "Pescado"
}

const JSON2 = {
  age: 12,
  color: "Blanco"
}

export function solution(json1 = JSON1, json2=JSON2) {
 // Tu c贸digo aqu铆 馃憟
  return {
    ...json1,
    ...json2
  }
}

Mi solucion

export function solution(
  json1 = {
    name: "Mr. Michi",
    food: "Pescado",
  },
  json2 = {
    age: 12,
    color: "Blanco",
  }
) {
  let data = { ...json1, ...json2 }
  return data
}

Una de las soluciones que se puede implementar

export function solution(
  json1 = { name: "Mr. Michi", food: "Pescado" },
  json2 = { age: 12, color: "Blanco" }) {
  let data = { ...json1, ...json2 }; // junta ambos json
  return data;
}

solution({
  name: "Bigotes",
  food: "Pollito"
})


const JSON1 = {
  name: "Mr. Michi",
  food: "Pescado"
}

const JSON2 = {
  age: 12,
  color: "Blanco"
}

export const solution = (json1 = JSON1, json2 = JSON2) => ({...json1, ...json2})

Mi soluci贸n 馃

export function solution(json1, json2) {
  let defaultJson = {
    name: "Mr. Michi",
    food: "Pescado",
    age: 12,
    color: "Blanco"
  }
  return { ...defaultJson, ...json1, ...json2 };
}

function solution(json1, json2) {

    json1 = {
        name: 'Mr. Michi',
        food: 'Pescado',
      },
      json2 = {
        age: 12,
        color: 'Blanco',
      }

    console.log({...json1,...json2})
    }
    
    solution()```

Mi soluci贸n

<code> 
export function solution(json1, json2) {
  json2 = json2 || {...cat}
  return { ...json1, ...json2 };
  console.log(resultado)
}

var cat = {
  age: 12,
  color: "Blanco"
};

solution(
  {
    name: "Bigotes",
    food: "Pollito"
  })

Quien esta en el dia: 7/12/23

Aqui mi aporte

export function solution(
  json1 = {
    name: 'Mr. Michi',
    food: 'Pescado'
  },

  json2 = {
    age: 12,
    color: 'Blanco'
  })
{
  return { ...json1, ...json2 };
}

Esta interesante esta metodolog铆a de desaf铆os馃榿

Spoilers

.

.

.

.

.

.

.

.

export function solution(json1 = {
  name: "Mr. Michi",
  food: "Pescado"
}, json2 = {
  age: 12,
  color: "Blanco"}) {
  let merge = { ...json1, ...json2 }
  return merge
}

Poner por default los objetos json
en una variable nueva fusionar los json y retornar el valor

隆No apliques este c贸digo en el ejercicio!
Me sirvi贸 en consola, pero no en el ejercicio.

let json1 = {
    name: "Mr. Michi",
    food: "Pescado"
  }
  
  let json2 = {
    age: 12,
    color: "Blanco"
  }
  
  function solution(a, b) {
    let combineJson = { ...a, ...b};
    return combineJson;
  }
  
  let result = solution(json1, json2);
  console.log(result);

Mi aporte, lo que se hace es dar un valor por defecto a los valores json1 y json2 y cuando se invoca la funci贸n se le pasa el valor solo a json1, por eso el resultado es el valor que se le paso a la funci贸n( json1 ) mas el valor por defecto ( json2 ). Aparte se usa el spread operator para copiar el valor de json1 y json2, para crear un nuevo objeto.

Mi aporte, aunque creo me falta optimizar los parametros cuando no envian los json.

export function solution(json1 = {
  name: "Mr. Michi",
  food: "Pescado"
}, json2 = {
  age: 12,
  color: "Blanco"
}) {
 // Tu c贸digo aqu铆 馃憟
  let out = { ...json1, ...json2 };
  return out;
}

est谩 bien el ejercicio, aunque ya estaba punto de fallar, pero est谩 resuelto

Hola no me funcion贸 en la prueba, pero si me funcion贸 en mi pc, veindo la solucion, me di cuenta que no atrap茅 las pistas del enunciado: habia que hacer una funci贸n con (default parameters), El input ya lo estaban enviando, y la funcion ya estaba siendo llamada. sin embargo con este ejercio aprend铆, como modificar los datos de un objeto llamando la funcion y asignado los nuevos valores. Me tom贸 bastante tiempo pero aprendi mucho.

let json1 = {
  name: 'Mr. Michi',
  food: 'Pescado',
};

let json2 = {
  age: 12,
  color: 'Blanco',
};

export function solution(json1, json2) {
  // Tu c贸digo aqu铆
  let data2 = { ...json1, ...json2 };
  console.log(data2);

  return data2;
}

solution({ ...json1, name: 'Bigotes', food: 'pollito', ...json2 });

export function solution(json1= {name: 鈥淢r. Michi鈥, food: 鈥淧escado鈥潁, json2= {age: 12, color: 鈥淏lanco鈥潁) {
// Tu c贸digo aqu铆 馃憟
return { 鈥son1, 鈥son2 };
}

export function solution(
json1 = {
name: 鈥淢r. Michi鈥,
food: 鈥淧escado鈥,
},
json2 = {
age: 12,
color: 鈥淏lanco鈥,
}
) {
return {
鈥son1,
鈥son2,
};
}

Esta es mi solucion.

function solution(json1, json2) {
  
  let j1 = {
    name: "Mr. Michi",
    food: "Pescado"
  };
  let otro1 = json1 || j1;
  let j2 = {
    age: 12,
    color: "Blanco"
  };
  let otro2 = json2 || j2;
  let new_data = { ...otro1, ...otro2 };
  return new_data;
}

solution({
  name: "Bigotes",
  food: "Pollito"
});

Usando funcion flecha:
const combinacion=(json1={name: 鈥淢r. Michi鈥,food: 鈥淧escado鈥潁,json2={age: 12,color: 鈥淏lanco鈥潁) => {return {鈥son1,鈥son2}}
console.log(combinacion())

Un saludo compa帽eros, esta es mi soluci贸n. Luego de pasar las pruebas, pude darme cuenta al detallar bien el valor de las propiedades que en realidad puede no ser una persona sino un animal jaja vale moscas ya.

export function solution(json1, json2) {
  let person = { name: 'Mr. Michi', food: 'Pescado', age: 12, color: 'Blanco', ...json1, ...json2}
  return person;
}

No quise alterar los par谩metros porque me pregunt茅: 鈥溌縔 si hubiese un caso en el que no supiese d贸nde viene cada propiedad?鈥 (No s茅 si pueda existir tal caso), pero aprovech茅 que los par谩metros rest se deben pasar al final y eso me facilita sobrescribir los par谩metros por defecto que le pas茅 al objeto final(person) si fuera necesario.

export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" }) {
  const result = { ...json1, ...json2 };
  return result;
}

export function solution(json1, json2) {
 // Tu c贸digo aqu铆 馃憟
  let json1 = {
    name: "Mr. Michi",
    food: "Pescado"
  };
  let json2 = {
    age: 12,
    color: "Blanco"
  };

  let solution = { ...json1, ...json2 }

  return solution
}

Este fue el c贸digo que yo ejecut茅

export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = {age: 12,color: "Blanco"}) {
 return {...json1,...json2}
}
export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" }) {
    // Tu c贸digo aqu铆 馃憟
      return {...json1,...json2}
      // en mi caso Utilize el metodo mas corto , creo que entre menos codigo tenga mejor sera de igual manera otra manera de hacerlo es con los parametros por defectos
    }
export function solution(json1 , json2 ) {
    // Tu c贸digo aqu铆 馃憟
     json1 = json1 || { name: "Mr. Michi", food: "Pescado" }
     json2=json2 || { age: 12, color: "Blanco" }
			return {...json1,...json2}
      //  igual manera otra manera de hacerlo es con los parametros por defectos
    }

Esta fue mi solucion:

Este editor me confunde un poco, sin embargo, esta fue la soluci贸n que me funcion贸 y lo coloco con comentarios para Dummies, como yo:

<code> 

export function solution(json1, json2) {
 
// tu c贸digo aqu铆
// aqu铆 ir铆an los objetos json1 y json2. No hace falta colocarlos, el editor los invoca en la secci贸n vista
  let jsonall = { ...json1, ...json2 };

  console.log(jsonall);

  return jsonall; 
}

Espero que sirva, sobre todo a los que se confunden con el editor, pues a m铆 aun me pasa.

Un abrazo a todos

A continuaci贸n, les dejo el c贸digo que us茅 y los resultados obtenidos:

export function solution(json1 = {
  name: "Mr. Michi",
  food: "Pescado"
}, json2 = {
  age: 12,
  color: "Blanco"
  })
{
  return { ...json1, ...json2 }
}


export function solution(json1, json2) {
  var json1 = json1 || { name: "Mr. Michi", food: "Pescado" };
  var json2 = json2 || { age: 12, color: "Blanco" };
  console.log(json1, json2);
  return {...json1, ...json2};

}

solution({ name: "Bigotes", food: "Pollito" });

Dejo mi primera soluci贸n utilizando condicionales, es bastante largo comparado a las respuestas, pero cumple su funci贸n.

const primerObjecto = { name: "Mr. Michi", food: "Pescado" };
const segundoObjecto = { age: 12, color: "Blanco" };

export function solution(primer, segundo) {
  if (primer === undefined && segundo === undefined) {
    const result = { ...primerObjecto, ...segundoObjecto }
    return result;
  } else {
    const result = { ...primerObjecto, ...primer, ...segundoObjecto, ...segundo, };
    return result;
  };
};

Mi soluc铆贸n:

Hiiii
paso mi aporte 鈥溾(0.0)/""

export function solution(json1, json2) {
  return  { ...json1 || {name: 'Mr. Michi', food: 'Pescado'}, ...json2 || {age: 12, color: 'Blanco'}}
}

Mi soluci贸n:

export function solution(json1, json2) {
  let response = {
    name: "Mr. Michi",
    food: "Pescado",
    age: 12,
    color: "Blanco"
  }
  return {...response, ...json1, ...json2}
}

Nota para m铆 mismo y para el que le sirva: recuerden leer bien a veces la soluci贸n esta en los detalles.

Mi soluci贸n:

export function solution(json1, json2) {
// Tu c贸digo aqu铆 馃憟
return {
鈥son1 || {
name: 鈥淢r. Michi鈥,
food: 鈥淧escado鈥
}, 鈥son2 || {
age: 12,
color: 鈥淏lanco鈥
} };
}

se logro!!

function solution(json1 = { name: "Mr. Michi", food: "Pescado" },
  json2 = {age: 12, color: "Blanco"}) {
  let data = { ...json1, ...json2 }
  return data;
}

esta fue mi solucion

function solution(...jsons) {
    let obj1 = {
        name: "Mr. Michi",
        food: "Pescado"
    };
    let obj2 = {
        age: 12,
        color: "Blanco"
    };
    let obj = {...obj1,...obj2};

    if (jsons.length > 0) {
        jsons.forEach(element => {
            for (let value in element) {
                //console.log(element[value]);
                if (obj[value]) {
                    obj[value] = element[value]
                }
            }
        });
    }
    console.log(obj);
}

solution();
solution({ name: "Bigotes", food: "Pollito",carne:"de pollo" },{age: 20, color: "Negro"},{age:40});

Mi soluci贸n:
|
|||
||||||
||||||||||

export function solution(json1 = {
  name: "Mr. Michi",
  food: "Pescado"
}, json2 = {
  age: 12,
  color: "Blanco"
}) {
  // Tu c贸digo aqu铆 馃憟
  let result = { ...json1, ...json2 };

  return result;
}

Si no te deja correr las pruebas verifica si tu c贸digo est谩 bien escrito, en ocasiones falta la segunda llave para cerrar la funci贸n.

Hola, ac谩 mi soluci贸n:

<export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" }) {
 // Tu c贸digo aqu铆 馃憟
  respuesta = { ...json1, ...json2 };
  console.log(respuesta);
  
}> 

Aqui mi aporte:

export function solution(json1 = {
  name: "Mr. Michi",
  food: "Pescado"
}, json2 = {
  age: 12,
  color: "Blanco"
}) {
 // Tu c贸digo aqu铆 馃憟
  let union = { ...json1, ...json2 }
  return union
}

Aqu铆 les dejo mi aporte queridos compa帽eros se que no es el mejor pero espero les ayude en algo.!

export function solution(
  json1 = {
    name: "Mr. Michi",
    food: "Pescado"
  },
  json2 = {
    age: 12,
    color: "Blanco"
  }
) {
 // Tu c贸digo aqu铆 馃憟
  let response = { ...json1, ...json2 };
  return response;
}
function solution(json1 = {
  name: "Mr. Michi",
  food: "Pescado"
}, json2 = {
  age: 12,
  color: "Blanco"
}) {
 return {...json1, ...json2}
}

export function solution(json1 = {name: "Mr. Michi", food: "Pescado" }, json2 = {age: 12, color: "Blanco"}) {
  let nuevoObjeto = { ...json1, ...json2 };
  return nuevoObjeto;
}

Hola, les comparto otra forma. 馃槂

const default1 = {
  name: "Mr. Michi",
  food: "Pescado"
}

const default2 = {
  age: 12,
  color: "Blanco"
}

export const solution = (json1 = default1, json2 = default2) =>({
    ...json1,
    ...json2
})

export function solution(
json1 = {
name: 鈥淢r. Michi鈥,
food: 鈥淧escado鈥
},
json2 = {
age: 12,
color: 鈥淏lanco鈥
}) {
return { 鈥son1, 鈥son2 }
}

Este c贸digo exporta una funci贸n llamada 鈥渟olution鈥 que recibe dos objetos JSON como par谩metros opcionales. Si no se proporcionan los par谩metros, se usan los objetos JSON por defecto.

Dentro de la funci贸n 鈥渟olution鈥, se usa el operador de propagaci贸n o 鈥淪pread Operator鈥 (鈥) para crear un nuevo objeto que combina las propiedades de los dos objetos JSON que se reciben como par谩metros. El operador de propagaci贸n se utiliza para descomponer los valores de los objetos y agregarlos a un nuevo objeto. En este caso, se crea un nuevo objeto que contiene todas las propiedades de json1 y json2.

Finalmente, el nuevo objeto combinado se devuelve como resultado. Si no se proporcionan los par谩metros, se devuelve un objeto que contiene las mismas propiedades que json1 y json2 por defecto.

export function solution(json1={name: 'Mr. Michi', food: 'Pescado'}, json2={age: 12, color: 'Blanco'}) {
  return { ...json1, ...json2 };  
}

Soluci贸n

export function solution(
  json1 = { name: "Mr. Michi", food: "Pescado" },
  json2 = { age: 12, color: "Blanco" }
) {
 // Tu c贸digo aqu铆 馃憟
  return { ...json1, ...json2 };
}

馃 驴por qu茅 mi c贸digo estaba mal? No entiendo lo de export function solution.

const data1 = {
	name: "Mr. Michi",
	food: "Pescado",
};

const data2 = {
	age: 12,
	color: "Blanco",
};

function combineData(data1, data2) {
	return {
		...data1,
		...data2,
	};
}

console.log(combineData(data1, data2));
 

Mi soluci贸n, cualquier sugerencia es bien recibida馃榿

export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" }) {
  let resul = { ...json1, ...json2 }
 return resul
}

Comparto mi resultado.

export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" }) {
 // Tu c贸digo aqu铆 馃憟
  let result = { ...json1, ...json2 };
  return result;
}

//Playground lesson 9
function solution(
// Default values
/*
let default1 = { name: 鈥楳r Michi鈥, food: 鈥楶escado鈥 };
let default2 = { age: 12, color: 鈥楤lanco鈥 };
let data = {};

if(json1 && json2) {
    data = {...json1, ...json2}
} else if(!json1 && !json2) {
    data = {...default1, ...default2}
} else if(json1 && !json2) {
    const valuesArray = Object.values(json1);
    console.log(valuesArray);
    console.log(typeof valuesArray[0]);
    if(typeof valuesArray[0] == 'number') {
        json2 = json1;
        json1 = default1;
        data = {...json1, ...json2}
    } else if (typeof valuesArray[0] == 'string') {
        if (valuesArray[0].length > 0) {
            json2 = default2;
            data = {...json1, ...json2}
        } else {
            data = {...default1, ...default2}
        }
    }  
}
//Return new object
return data; */
json1 = {
    name: "Mr. Michi",
    food: "Pescado",
},
json2 = {
    age: 12,
    color: "Blanco",
}

) {
return {鈥son1,鈥son2,};
}

cat1 = solution({
name: 鈥淏igotes鈥,
food: 鈥淧escado鈥
});

cat2 = solution({
age: 10,
color: 鈥渂lanco鈥
});

cat3 = solution();

console.log(cat1);
console.log(cat2);
console.log(cat3);

export function solution(
  json1 = {
    name: "Mr. Michi",
    food: "Pescado"
  },
  json2 = {
    age: 12,
    color: 'Blanco',
  })
  
  {  
  return { ...json1, ...json2 };
}

Aqu铆 mi soluci贸n, muchos saludos 馃槂

export function solution(json1, json2) {
 // Tu c贸digo aqu铆 馃憟
  json1 = json1 || { name: "Mr. Michi", food: "Pescado" };
  json2 = json2 || { age: 12, color: "Blanco" };

  return { ...json1, ...json2 };
}

export function solution(json1 = { name: 'Mr. Michi', food: 'Pescado' }, json2 = { age: 12, color: 'blanco' }) {
return  { ...json1, ...json2 }

esta fue mi solucion y el resultado esta bien, pero el examen la marca mal. alguien sabe por que? para que me la diera bien solo lo separe de esta forma

exportfunctionsolution(
  json1 = {
  name: "Mr. Michi",
    food: "Pescado"
  },
  json2 = {
    age: 12,
    color: "Blanco"
  }) {
 return { ...json1, ...json2}
}

no le encuentro sentido o en que me abre equivocado en la primera. seg煤n vsc esta bien me dejo re confundido

Mi aporte鈥 馃槂

function solution(
json1 = {
name: 鈥淢r. Michi鈥,
food: 鈥淧escado鈥
},
json2 = {
age: 12,
color: 鈥淏lanco鈥
}) {
// Tu c贸digo aqu铆 馃憟

let obj = {
鈥son1,
鈥son2
}
return obj

}

my solution:

export function solution(json1, json2) {
  var json1 = json1 || {
    name: "Mr. Michi",
    food: "Pescado"
  };
  var json2 = json2 || {
    age: 12,
    color: "Blanco"
  };
  let data = { ...json1, ...json2 }; 
  return data;
};

Aqui mi aporte:

export function solution(json1,json2) {
 // Tu c贸digo aqu铆 馃憟
  var json1 = json1 || { name:"Mr. Michi", food:"Pescado"};
  var json2 = json2 || { age: 12, color: "Blanco" };
  let data = { ...json1, ...json2 };
  return (data);
}

Mi soluci贸n:

function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" }) {
  let result = { ...json1, ...json2 };
  return result;
}

si le das enter o borrar una linera que no altere el codigo sigue tirando confeti :v

export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" }) {
  return { ...json1, ...json2 };    
}

Comparto mi soluci贸n para aumentar que tan versados somos en JavaScript

export function solution(json1, json2) {
 // Tu c贸digo aqu铆 馃憟
  if (json1 === undefined){
    json1 = {
      name: "Mr. Michi",
      food: "Pescado"
    }
  }
  if (json2 === undefined) {
    json2 = {
      age: 12,
      color: "Blanco"
    }
  }
  let newJson = { ...json1, ...json2 }
  return newJson
}

https://platzi.com/clases/1642-javascript-profesional/22672-aspectos-que-destacan-a-un-profesional/

Mi soluci贸n

function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" }) {
  let resultado = {...json1, ...json2};
  console.log(resultado);
  return resultado;
}

solution({
  name: "Bigotes",
  food: "Pollito"
});

Aportando mi soluci贸n:

export function solution(json1, json2) {
 // Tu c贸digo aqu铆 馃憟
  let j1 = json1 || {
    name: "Mr. Michi",
    food: "Pescado"
  };
  let j2 = json2 || {
    age: 12,
    color: "Blanco"
  };
  return { ...j1, ...j2 }
}

Esta es la solucion mas corta que encontr茅:

export function solution(json1 = { name: 'Mr. Michi', food: "Pescado" },
  json2 = { age: 12, color: "Blanco" }) {

  return { ...json1, ...json2 };
}

Intente hacerlo mas corta con cosas como esta:

export solution = (json1 = { name: 'Mr. Michi', food: "Pescado" },
json2 = { age: 12, color: "Blanco" }) => { ...json1, ...json2 }

++> Alguien sabe como se podria hacer asi???
++

Dejo mi peque帽o aporte

export function solution(json1 = { name: 'Mr. Michi', food: "Pescado" },
  json2 = { age: 12, color: "Blanco" }) {
    
  let data = { ...json1, ...json2 };
  
  return data; 
}

My solution

export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" } ) {
  let dataCat = {}
  return  dataCat = { ...json1, ...json2 };
}

Mi soluci贸n.

export function solution(json1, json2) {
  let _json1 = json1 || { name: "Mr. Michi", food: "Pescado" };
  let _json2 = json2 || { age: 12, color: "Blanco" };

  return { ..._json1, ..._json2 };
}

No carg贸 el playground pero lo hice en VSC:

Me parece genial el ejercicio de poner una consola de pruebas y un tester鈥 pero no funciona 馃槙
O al menos en mi caso, con Chrome, se queda procesando la respuesta, pero no arroja ning煤n resultado, ni positivo ni negativo鈥 Asi que me qued茅 con las ganas de saber si hab铆a quedado bien o no. Mi soluci贸n:

export function solution(
  json1 = { name: "Mr. Michi", food: "Pescado" },
  json2 = { age: 12, color: "Blanco" }) {
  return { ...json1, ...json2 }
}

MI SOLUCI脫N

Esta es mi respuesta! 馃槃

Viendo las respuestas de mis compa帽eros pienso que quiza hubiera podido omitir la variable dosJson, pero fue lo primero que se me ocurrio, jajajajaa

Son todo un reto estas pruebas, me encantan, siento que mi cabeza trabaja de verdad! 馃槃

<
export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" }) {
  let dosJson = { ...json1, ...json2 };
  return dosJson;
}

solution();

> 

Dejo mi aporte 馃憞馃徑

export function solution(
  json1 = {
    name: "Mr. Michi",
    food: "Pescado"
  },
  json2 = {
    age: 12,
    color: "Blanco"
  }) {

  return {...json1, ...json2}
}
function solution(json1, json2){
    let data1 = {
        name: "Mr. Michi",
        food: "Pescado"
    };
    let data2 = {
        age: 12,
        color: "Blanco"
    };
    if (json1){
        data1 = json1;
    }
    if (json2){
        data2 = json2;
    }
    
    let datafin = {...data1, ...data2};
    console.log(datafin);
}

Me funciona en casi todos los escenarios pero cuando intento solo enviar nuevos valores para 鈥渁ge鈥 y 鈥渃olor鈥 imprime estos dos valores no imprime el 鈥渘ame鈥 y 鈥渇ood鈥 por defecto.

Mi soluci贸n:

export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = {age: 12, color: "Blanco"}) {
  let data = { ...json1, ...json2 }
 return data
}

export function solution(json1 = {
name: 鈥淢r. Michi鈥,
food: 鈥淧escado鈥
}, json2 = {
age: 12,
color: 鈥淏lanco鈥
}) {
// Tu c贸digo aqu铆 馃憟
const uny = { 鈥son1, 鈥son2 }
return uny
}

function solution
(
  json1 =
  {
    name: "Mr. Michi",
    food: "Pescado"
  },
  json2 = {
    age: 12,
    color: "Blanco"
  }
) {
 // Tu c贸digo aqu铆 馃憟
  return { ...json1, ...json2 }
}
const rest = {...solution(), name: "Bigotes", food: "Pollito"}
console.log(rest)
export function solution(
  json1 = { name: 'Mr. Michi', food: 'Pescado' },
  json2 = { age: 12, color: 'Blanco' }
)
{
  const solution = { ...json1, ...json2 }
  console.log(solution)
  return solution
}

La variable solution es algo opcional, podr铆an poner:

return {...json1, ...json2}

Para este caso la validacion de que si el objeto contiene propiedades, esta de mas, porque ya se definen valores por defecto. pero ahi les dejo el codigo como aporte.

export function solution(json1 = {name: "Mr. Michi",food: "Pescado"}, json2 = {age: 12, color: "Blanco"}) {
 // Tu c贸digo aqu铆 馃憟
  if (Object.keys(json1).length > 0 && Object.keys(json2).length > 0) {
    return ({ ...json1, ...json2 });
  } else {
    return "Ingrese valores.";
  }
}

hola, les dejo mi c贸digo

function solution(json1, json2) {
    const defaultJson1 = { name: "Mr.Michi", food: "Pescado" };
    const defaultJson2 = { age: 12, color: "Blanco"}; 
    const json1Final = {...defaultJson1, ...json1};
    const json2Final = { ...defaultJson2, ...json2};
    return {...json1Final, ...json2Final};
}

Les dejo mi soluci贸n al challengue:

export function solution(json1 = { name: "Mr. Michi", food: "Pescado"}, json2 = {age: 12, color: "Blanco"}) {
  return {...json1, ...json2}
}

Aqu铆 mi peque帽o aporte:

export function solution(json1 = { name: "Mr. Michi", food: "Pescado" }, json2 = { age: 12, color: "Blanco" }) {  // Aqu铆 podemos dar valores por defecto a los parametros en caso de que se reciban o no. Como en 茅ste caso son objetos, los parametros se escriben entre llaves {}

    let catInfo = { ...json1, ...json2 }; // Aqu铆 lo que hacemos es unir los objetos en un nuevo objeto y guardamos el resultado en una nueva variable. Se puede omitir y simplemente colocar { ...json1, ...json2 } despues del return y funcionaria igualmente.
    return catInfo; // Aqu铆 retornamos la nueva variable con el objeto de une los objetos json.
export function solution(
  json1 = { name: 'Mr. Michi', food: 'Pescado' },
  json2 = { age: 12, color: 'Blanco' }) { 
  return { ...json1, ...json2 };
}

Mi soluci贸n, en la guia nos suministran mucha informacion, pero el code es mas corto de lo que pense

export function solution(json1 = {name: 'Mr. Michi', food: 'Pescado'}, json2 = { age: 12, color: 'Blanco'}) {
 return{...json1, ...json2}
}

Mi propuesta de soluci贸n (no sab铆a/ recordaba que: 1 se pod铆an declarar variables/constantes sin la palabra reservada, 2: que la soluci贸n empezaba en la primera l铆nea)

function solution(name,food,age,color) {
    let json1 = {name: 'Mr. Michi', food: 'Pescado'};
    let json2 = {age: 12, color: 'Blanco'};
    let data = { ...json1, ...json2};
    var name = name || data.name;
    var food = food || data.food;
    var age = age || data.age;
    var color = color || data.color;
    console.log(name, food, age, color);
}

solution('Martin','Milk',15);
undefined