<시간/>
예를 들어 회사의 일부 제품에 대한 정보를 포함하는 두 개의 객체 배열이 있다고 가정해 보겠습니다.
상수 첫 번째 =[ { 아이디:"57e7a1cd6a3f3669dc03db58", 수량:3 }, { 아이디:"57e77b06e0566d496b51fed5",7065050,수량:3 }, { 아이디:"57e7a1cd6a0f366" 수량:3 }];const 초 =[ { 아이디:"57e7a1cd6a3f3669dc03db58", 수량:6 }, { 아이디:"57e77b06e0566d496b51fed5", 수량:6 }];
이제 두 개의 배열을 병합하는 함수를 작성해야 합니다. 동일한 id를 가진 객체가 반복적으로 나타나지 않도록 하고, 또한 objectsduplicate id에 대한 quantity 속성이 함께 추가되도록 하는 것입니다.
따라서 이 함수의 코드를 작성해 보겠습니다 -
예시
상수 첫 번째 =[ { 아이디:"57e7a1cd6a3f3669dc03db58", 수량:3 }, { 아이디:"57e77b06e0566d496b51fed5",7065050,수량:3 }, { 아이디:"57e7a1cd6a0f366" 수량:3 }]; const 두 번째 =[ { 아이디:"57e7a1cd6a3f3669dc03db58", 수량:6 }, { 아이디:"57e77b06e0566d496b51fed5", 수량:6 }];const mergeArray =(첫 번째, 두 번째 반환) => .first, ...second].reduce((acc, val, i, arr) => { const { id, 수량 } =val; const ind =acc.findIndex(el => el.id ===id); if(ind !==-1){ acc[ind].quantity +=수량; }else{ acc.push({ id, 수량 }); } acc 반환; }, []);}console.log( mergeArray(첫 번째, 두 번째)); 출력
콘솔의 출력은 -
[ { 아이디:'57e7a1cd6a3f3669dc03db58', 수량:12 }, { 아이디:'57e77b06e0566d496b51fed5', 수량:12 }]