공유 키를 사용하여 배열의 JavaScript 개체 병합
JavaScript에서는 유사한 키를 가진 개체를 단일 개체로 결합해야 하는 경우가 많습니다. . 주어진 예를 고려하십시오.
<code class="js">const array = [ { name: "foo1", value: "val1" }, { name: "foo1", value: ["val2", "val3"] }, { name: "foo2", value: "val4" } ];</code>
이 배열을 모든 값 키가 공유 이름을 가진 객체로 병합되는 "출력" 배열로 재구성하는 것이 목표입니다. 예상되는 출력은 다음과 같습니다.
<code class="js">const output = [ { name: "foo1", value: ["val1", "val2", "val3"] }, { name: "foo2", value: ["val4"] } ];</code>
개체 병합
이 문제에 대한 한 가지 접근 방식은 다음 단계를 사용하는 것입니다.
예제 코드
다음 코드는 설명된 접근 방식을 구현합니다.
<code class="js">const array = [ { name: "foo1", value: "val1" }, { name: "foo1", value: ["val2", "val3"] }, { name: "foo2", value: "val4" } ]; let output = []; array.forEach(item => { const existing = output.filter(v => v.name == item.name); if (existing.length) { const existingIndex = output.indexOf(existing[0]); output[existingIndex].value = output[existingIndex].value.concat(item.value); } else { if (typeof item.value == 'string') item.value = [item.value]; output.push(item); } }); console.log(output);</code>
이 코드는 동일한 이름을 가진 모든 객체의 값이 병합된 원하는 출력 배열을 생성합니다.
위 내용은 공유 키를 사용하여 배열의 JavaScript 개체를 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!