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

After Effects 엥커포인트 중앙으로 이동하는 방법 및 스크립트

After Effects 에서 애니메이션을 하기 위해서는 움직이는 대상의 Anchor Point 에 따라서 크기나 위치, 회전 등의 차이가 있습니다. After Effect 에서는 Layer content 에...

제주도 도로교통상황, 통제상황 및 이번주 제주도 날씨 2023-01-25

제주도로교통상황 한라산 탐방은 현재 전면 통제중이며 제주시와 서귀포시를 잇는 1100도로, 5.16도로 전 구간은 전차량 통제상황, 소형차의 경우 제1산록도로가 통제 상황입니다. 제주교통통제상황: https://www.jjpolice.go.kr/jjpolice/notice/traffic.htm ...

[EPIC GAME] Horizon Chase Turbo 2022.12.18 까지 무료 다운로드

Horizon Chase Turbo 를 2022.12.18일 01:00 까지 EPIC GAME 에서 무료로 다운 받을 수 있습니다. 오락실 자동차와 같은 레이싱 게임입니다. https://store.epicgames.com/ko/p/horizon-chase-turbo https://www.youtube.com/watch?v=5LMugZ300L8 Horizon Chase Turbo Horizon Chase Turbo는...

제주도로교통상황 및 이번주 제주도 날씨 2022-12-17 현재

제주도로교통상황 한라산 탐방은 현재 전명 통제중이며 제주시와 서귀포시를 잇는 1100도로 전 구간은 통제상황입니다. 5.16도로 마방목지~성판악 / 성판악~숲터널 구간은 소형 자량인 경우 체인을 설치해야만 운행 가능합니다. 제주지방기상청은...