>웹 프론트엔드 >JS 튜토리얼 >두 개의 JavaScript 배열을 병합하고 고유 항목만 유지하는 방법은 무엇입니까?

두 개의 JavaScript 배열을 병합하고 고유 항목만 유지하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-24 05:40:19272검색

How to Merge Two JavaScript Arrays and Keep Only Unique Items?

두 개의 JavaScript 배열을 고유한 항목으로 병합

배열 병합은 프로그래밍에서 일반적인 작업이지만 결과 배열을 보장하려는 경우 약간 더 복잡해질 수 있습니다. 고유 항목만 포함되어 있습니다. 이 기사에서는 원래 순서를 유지하고 중복 요소를 제거하면서 두 개의 JavaScript 배열을 병합하는 방법을 살펴보겠습니다.

두 개의 JavaScript 배열을 고려해보세요.

var array1 = ["Vijendra", "Singh"];
var array2 = ["Singh", "Shakya"];

우리의 목표는 새로운 배열을 만드는 것입니다. array1과 array2의 고유 요소를 포함하는 array3입니다. 올바른 출력은 다음과 같습니다.

["Vijendra", "Singh", "Shakya"]

이를 달성하려면 JavaScript의 내장 배열 방법 조합을 활용할 수 있습니다.

간단한 배열 병합

중복 항목을 제거하지 않고 단순히 두 배열을 병합하려면 concat()을 사용할 수 있습니다. 방법:

var array3 = array1.concat(array2);
console.log(array3); // ["Vijendra", "Singh", "Singh", "Shakya"]

이렇게 하면 array1과 array2의 모든 요소를 ​​포함하는 새 배열이 생성됩니다. 그러나 중복 항목은 제거되지 않습니다.

중복 제거를 통한 병합

배열을 병합하는 동안 중복 항목을 필터링하려면 Reduce() 및 include() 메서드:

var array3 = array1.reduce((acc, curr) => !acc.includes(curr) ? acc.concat(curr) : acc, []);
var array4 = array3.concat(array2.filter(x => !array3.includes(x)));
console.log(array4); // ["Vijendra", "Singh", "Shakya"]

이 코드에서는 array1에 대해 Reduce()를 사용하여 새 배열을 만듭니다. 고유한 요소만 포함되어 있습니다. 그런 다음 이 새 배열을 array2의 필터링된 요소와 연결하여 중복 항목이 제거되도록 합니다.

위 내용은 두 개의 JavaScript 배열을 병합하고 고유 항목만 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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