JavaScript의 속성별로 객체 배열에서 고유한 객체를 추출합니다.

PHPz
풀어 주다: 2023-08-29 15:33:12
앞으로
934명이 탐색했습니다.

在 JavaScript 中按属性从对象数组中提取唯一对象

이 튜토리얼에서는 속성별로 객체 배열에서 고유한 객체를 추출하는 방법을 배웁니다. 때로는 특정 속성을 기반으로 객체 배열에서 객체를 필터링해야 하는 경우도 있습니다.

예를 들어 객체를 식별하는 키로 ID가 있습니다. 따라서 배열에 단일 ID를 가진 단일 개체만 포함되어 있는지 확인해야 합니다. 두 개 이상의 개체에 동일한 기본 키 값이 포함되어 있으면 개체 고유 식별에 문제가 발생할 수 있습니다.

여기에서는 특정 속성을 기반으로 배열에서 모든 고유 개체를 필터링하는 다양한 방법을 배웁니다.

맵과 for 루프를 사용하세요

JavaScript에서 Map은 고유한 키-값 쌍을 저장할 수 있습니다. 또한 O(1) 시간 복잡도로 맵의 키를 사용하여 맵에서 모든 값을 얻을 수 있습니다. 따라서 객체 배열을 반복하고 키-값 쌍을 맵에 저장합니다. 또한 맵에 특정 속성 값을 가진 개체가 포함되어 있는지 확인합니다. 새 개체 배열에 개체를 추가하지 않습니다.

문법

아래 구문에 따라 맵을 사용하여 배열에서 고유한 개체를 추출할 수 있습니다.

으아악

위 구문에서는 매핑을 사용하여 고유한 emp_id를 가진 개체를 저장합니다.

알고리즘

  • 1단계- emp_id가 중복된 여러 개체를 포함하는 개체 배열을 만듭니다.

  • 2단계- Map 생성자를 사용하여 Map() 개체를 만듭니다.

  • 3단계- for-of 루프를 사용하여 "employees" 배열의 각 개체를 반복합니다.

  • 4단계- 지도의 경우 emp_id를 키로 사용하고 전체 객체를 값으로 사용합니다. for-of 루프 내에서 Map 객체의 set() 메서드를 사용하여 객체를 emp_id 키 값으로 설정합니다.

  • 5단계- 지도는 반복자입니다. 따라서 반복자의 모든 값을 얻으려면 value() 메소드를 적용하십시오.

  • 6단계- 스프레드 연산자를 사용하여 iteratorValues의 모든 객체를 UniqueEmployees 배열로 복사합니다.

  • 7단계- UniqueEmployees 배열에는 고유한 emp_id를 가진 모든 개체가 포함되어 있으며, 사용자는 이를 반복하여 개체 값을 얻을 수 있습니다.

아래 예에서는 Map과 for-of 루프를 사용하여 속성별로 고유한 객체를 추출하는 알고리즘을 구현했습니다. 우리는 중복된 emp_id 값을 가진 4개의 서로 다른 개체를 포함하는 직원 배열을 만들었으며 위의 알고리즘을 사용하여 모든 고유 개체를 추출하고 있습니다.

으아악

array.filter() 메소드와 Map을 사용하세요

filter() 메서드를 사용하여 배열의 값을 필터링할 수 있습니다. 콜백 함수를 매개변수로 받아 콜백 함수가 반환하는 부울 값을 기준으로 값을 필터링합니다.

위의 예와 유사하게 맵을 사용하여 속성 값을 저장하고 맵에 해당 값이 이미 포함되어 있는지 확인합니다. 그렇다면 계속 진행하고, 그렇지 않으면 맵 및 필터 배열에 값을 추가합니다.

문법

사용자는 다음 구문에 따라 고유한 속성 값을 가진 모든 개체를 필터링할 수 있습니다.

으아악

알고리즘

  • 1단계- Map() 객체를 사용하여 지도를 만듭니다.

  • 2단계- filter() 메서드를 사용하여 배열의 값을 필터링합니다.

  • 3단계- 네트워크를 매개변수로 사용하는 필터 메소드에 콜백 함수를 인수로 전달합니다. 네트워크는 참조 배열의 객체입니다.

  • 4단계- 지도에 이미 website_name이 키로 포함되어 있는지 확인하고 콜백 함수에서 false를 반환하여 계속 진행하세요.

  • 5단계- 지도에 website_name이 포함되어 있지 않으면 website_name과 개체를 키-값 쌍으로 지도에 추가하고 true를 반환하여 UniqueObjects 배열에서 필터링합니다.

이 예에서는 filter() 메서드를 사용하여 배열에서 website_name을 기준으로 모든 웹사이트 개체를 필터링합니다. 출력에서 사용자는 filter() 메서드가 고유한 website_names를 포함하는 두 개의 객체만 반환한다는 것을 확인할 수 있습니다.

으아악

이 튜토리얼에서는 특정 속성 값으로 고유한 개체를 추출하는 두 가지 방법을 설명합니다. 우리는 두 메서드 모두에서 맵을 사용하고 있지만 객체 배열을 반복하기 위해 서로 다른 반복자 메서드를 사용하고 있습니다. 사용자는 for-of 루프나 filter() 메서드를 사용하여 배열을 반복할 수 있습니다.

위 내용은 JavaScript의 속성별로 객체 배열에서 고유한 객체를 추출합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!