Home IT/WEB 배열 내 객체 id 값 중복 제거, 카운트하는 방법

[javascript] 배열 내 객체 id 값 중복 제거, 카운트하는 방법

배열 내 객체 프로퍼티 값 중에 중복으로 들어간 것을 제거하는 방법은 많이 사용됩니다. 중복을 제거하면서 카운트 하는 방법을 알아보겠습니다.

Lodash 설치

inline ad

설명에 앞서 Lodash CDN 은 https://www.jsdelivr.com/package/npm/lodash 이곳에서 확인할 수 있으며 아래 CDN 버전을 사용하셔도 됩니다.
<script src=”https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js”></script>

Lodash 를 이용한 배열 내 객체 id 값 중복제거, 카운트

lodash 라이브러리를 이용한 방법을 설명하겠습니다. lodash는 데이터를 정렬, 필터, 색인할 수 있게 도와주는 오픈소스로 배열 조작을 쉽고 간편하게 처리가 가능합니다. lodash에서 _.groupBy 와 _.map 을 사용하여 중복을 제거하고 카운트를 처리하였습니다.

const users = [
      { id: '2001', user: 'barney', age: 36, active: true },
      { id: '2001', user: 'barney', age: 36, active: false },
      { id: '2001', user: 'barney', age: 36, active: false },
      { id: '2002', user: 'fred', age: 30, active: false },
      { id: '2002', user: 'fred', age: 30, active: false },
      { id: '2002', user: 'fred', age: 30, active: true },
      { id: '2003', user: 'travis', age: 34, active: false },
      { id: '2004', user: 'travis', age: 34, active: false },
    ];

 const groupBy = _.groupBy(users, (item) => item.id)
 const result = _.map(groupBy, (group) => ({...group[0], count: group.length}) )
 console.log(result)

중복제거

id 중복만 제거한다면 _.uniqBy 를 사용하여 간단하게 처리가 가능합니다.

_.uniqBy(users, 'id');

RECENT POSTS

[vscode]이 시스템에서 스크립트를 실행할 수 없으므로 nest.ps1 파일을 로드할 수 없습니다.

nest : 이 시스템에서 스크립트를 실행할 수 없으므로 C:UsersmarkettradersAppDataRoamingnpmnest.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.위치 줄:1 문자:1 이 오류는 PowerShell 실행 정책 관련...

[nest.js]nest.js, node.js, 프로젝트 생성 방법

Node.js 설치 Node.js의 공식 웹사이트(nodejs.org)에서 Windows용 인스톨러를 다운로드합니다. 다운로드한 인스톨러를 실행하여 설치합니다. Node Version Manager(NVM)을 사용하는 경우 nvm install node # 최신 버전 설치 nvm install 14 #...

[광주]위파크 더 센트럴 분양주택 분양안내

기본정보 공급위치: 광주광역시 서구 풍암동 10-12번지 일원 공급번호: 2023000351 공급규모: 625세대 분양/입주: 분양 2023-08-04 / 입주 2026-08 건설사: (주)호반건설 (주)라인건설 분양문의: 1670-5676 분양정보: 분양정보 자세히보기 홈페이지 주소: http://www.wepark-central.co.kr/ 모집공고문 보기 청약일정 모집공고일: 2023-08-04 청약접수: 2023-08-14...

[강원]힐스테이트 속초 분양주택 분양안내

기본정보 공급위치: 강원특별자치도 속초시 금호동 622-40 일원 공급번호: 2023000337 공급규모: 925세대 분양/입주: 분양 2023-07-21 / 입주 2026-05 건설사: 현대엔지니어링(주) 분양문의: 033-947-0925 분양정보: 분양정보 자세히보기 홈페이지 주소: http://www.hillstate-sokcho.co.kr 모집공고문 보기 청약일정 모집공고일: 2023-07-21 청약접수: 2023-07-31 ~...