다음 배열이 있습니다.
A = [
{
"id": "111a",
"week": 2,
"percentComplete": 50
},
{
"id": "111b",
"week": 2,
"percentComplete": 60
}
]
B = [
{
"id": "111a",
"week": 1,
"percentComplete": 20
},
{
"id": "111b",
"week": 1,
"percentComplete": 30
},
{
"id": "111c",
"week": 1,
"percentComplete": 40
}
]
예상 출력 배열 'A'를 배열 'B'와 병합하고 새 배열 C를 만들려고합니다. 배열 C는 'B'의 모든 고유 개체를 가지며 공통 ID를 가진 개체를 배열 'A의 업데이트 된 값으로 대체합니다. '. set 함수를 사용해 보았지만 고유 항목을 반환하는 대신 모든 항목을 반환합니다.C = [...new Set([...A, ...B])]
C = [
{
"id": "111a",
"week": 1,
"percentComplete": 50
},
{
"id": "111b",
"week": 1,
"percentComplete": 60
},
{
"id": "11c",
"week": 1,
"percentComplete": 40
}
]
그들을 대조 한 다음 이미 배열에있는 보완을 필터링 할 수 있습니다.
C = A.concat(B).filter((el, i, arr) => arr.findIndex(cEl => cEl.id === el.id) === i);
중복을 버릴 것입니다
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다