2 개의 배열을 병합하고 Union과 같은 고유 한 값으로 새 배열을 만드는 방법은 무엇입니까?

yellowSub

다음 배열이 있습니다.

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] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관