const data1 = [
{id: 1, name: 'a'},
{id: 2, name: 'b'},
{id: 3, name: 'c'},
{id: 4, name: 'd'},
{id: 5, name: 'e'}
]
const data2 = [
{id: 1, age:30},
{id: 4, age:3},
{id: 5, age:33}
]
🔹 원하는 결과
[
{ id: 1, name: 'a', age: 30 },
{ id: 2, name: 'b' },
{ id: 3, name: 'c' },
{ id: 4, name: 'd', age: 3 },
{ id: 5, name: 'e', age: 33 }
]
🔹 코드
const mergedData = data1.map(item => {
const match = data2.find(d => d.id === item.id);
return match ? {...item, ...match} : item;
});
id가 일치하는 객체를 찾는다
일치하는 객체가 존재한다면, 두 객체를 spread 연산자를 이용해서 합쳐준다
만약 존재하지 않는다면, 기존의 객체를 반환한다