Tengo dos objetos, uno de ellos tiene el nombre de la tienda y el otro objeto tiene el precio de un artículo junto con la identificación de la tienda en ambos objetos. Como;
obj1 = [ {id: 1,name: "Store1"}, {id: 2,name: "Store2"}, {id: 3,name: "Store3"} ]; obj2= [ { id: 1, price: 100 }, { id: 2, price: 200 }, { id: 3, price: 300 } ];Lo que quiero lograr es que compare obj1 id con obj2 id si son iguales, obtenga el precio y el nombre de la tienda de la misma identificación. ¿Cuál es la mejor manera de lograr esto? He estado tratando de usar Array.map o filter pero realmente no puedo hacerlo funcionar. ¡Gracias!
Puedes usar map y find
const obj1 = [{ id: 1, name: "Store1" }, { id: 2, name: "Store2" }, { id: 3, name: "Store3" }, { id: 4, name: "Store3" } ]; const obj2 = [{ id: 1, price: 100 }, { id: 2, price: 200 }, { id: 3, price: 300 } ]; const newData = obj1.map((item, index) => { return { ...item, // if the item exist in obj2 then get the price else assign empty string price: obj2.find(elem => elem.id === item.id) ? .price || '' } }); console.log(newData)