> 웹 프론트엔드 > JS 튜토리얼 > JavaScript의 배열에서 중복 개체를 제거하는 방법은 무엇입니까?

JavaScript의 배열에서 중복 개체를 제거하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-27 20:17:10
원래의
282명이 탐색했습니다.

How to Remove Duplicate Objects from an Array in JavaScript?

배열에서 중복 개체를 제거하는 방법

쿼리는 개체 내의 배열에서 중복 개체를 효율적으로 제거하는 데 중점을 둡니다. 이 목표를 달성하기 위한 몇 가지 효과적인 기술을 살펴보겠습니다.

ES6 솔루션:

ES6의 우아함을 도입하여 filter 및 findIndex 메소드를 활용할 수 있습니다.

obj.arr = obj.arr.filter((value, index, self) =>
  index === self.findIndex((t) => (
    t.place === value.place && t.name === value.name
  ))
);
로그인 후 복사

이 접근 방식을 사용하면 고유한 개체만 배열.

일반 솔루션:

보다 다양한 솔루션을 고려하려면 다음을 고려하세요.

const uniqueArray = obj.arr.filter((value, index) => {
  const _value = JSON.stringify(value);
  return index === obj.arr.findIndex(obj => {
    return JSON.stringify(obj) === _value;
  });
});
로그인 후 복사

이 방법은 JSON 문자열화를 사용하여 다음을 기반으로 개체를 비교합니다. 속성 값입니다.

속성 기반 필터링:

또는 특정 속성을 기준으로 개체를 비교하는 함수를 정의할 수 있습니다.

const isPropValuesEqual = (subject, target, propNames) =>
  propNames.every(propName => subject[propName] === target[propName]);

const getUniqueItemsByProperties = (items, propNames) => 
  items.filter((item, index, array) =>
    index === array.findIndex(foundItem => isPropValuesEqual(foundItem, item, propNames))
  );
로그인 후 복사

이 함수는 지정된 속성을 기반으로 고유한 개체가 포함된 배열을 반환합니다. 이름.

설명:

  • 필터: 주어진 기준을 만족하는 중복 개체를 제거합니다.
  • findIndex: 일치하는 객체가 처음으로 나타나는 인덱스를 반환합니다. 지정된 기준.

이러한 기술을 활용하면 배열에서 중복 개체를 효과적으로 제거할 수 있으므로 깔끔하고 간결한 데이터세트로 작업할 수 있습니다.

위 내용은 JavaScript의 배열에서 중복 개체를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿