>웹 프론트엔드 >JS 튜토리얼 >ID별로 JavaScript 개체를 효율적으로 병합하는 방법은 무엇입니까?

ID별로 JavaScript 개체를 효율적으로 병합하는 방법은 무엇입니까?

DDD
DDD원래의
2024-11-29 20:22:15581검색

How to Efficiently Merge JavaScript Objects by ID?

ID로 JavaScript 개체 병합

질문:

두 JavaScript를 효율적으로 병합하는 방법 공통 "id" 속성을 기반으로 하는 객체 배열, 두 번째 배열의 추가 데이터를 먼저?

예:

var a1 = [{ id: 1, name: "test" }, { id: 2, name: "test2" }]
var a2 = [{ id: 1, count: "1" }, { id: 2, count: "2" }]

원하는 출력:

var a3 = [{ id: 1, name: "test", count: "1" }, { id: 2, name: "test2", count: "2" }]

해결책:

ES6를 사용하면 간결한 솔루션으로 이를 달성할 수 있습니다.

const a3 = a1.map(t1 => ({ ...t1, ...a2.find(t2 => t2.id === t1.id) }));

이 솔루션은 map() 및 find() 메서드를 활용합니다.

  • map(): 반복 a1의 각 요소에 대해 새 요소를 만듭니다. object.
  • find(): a1의 현재 요소와 동일한 "id"를 가진 a2의 개체를 찾습니다.
  • 확산 연산자( .. ): a1의 현재 요소 속성과 해당 요소의 속성을 결합합니다. a2.

이 방법은 "id" 속성을 기반으로 a1과 a2의 개체를 효과적으로 병합하여 a2의 추가 속성을 a3의 결과 개체에 추가합니다.

위 내용은 ID별로 JavaScript 개체를 효율적으로 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.