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

[javascript]트리 구조의 객체를 재귀적 함수로 평면화하는 방법

const getItems = (items) => { const flattenItems = (currentItems) => { let flatItems = ; for...

[javascript]객체를 복사하고 특정 키를 제외하여 객체를 생성하는 방법

const obj = { name: 'markettraders', age: 20, address: { city: 'seoul', zip: '12345' ...

[javascript]!! 연산자 not not 연산자

"!!" 연산자는 값을 boolean으로 형변환하는 데 사용됩니다. 이를 "not not" 연산자라고도 합니다. 이 연산자는 값을 true 또는 false로 간단히 변환하여 반환합니다. 예를 들어, JavaScript에서 다음과...

Youtube 오디오 라이브러리에서 가장 많이 사용하는 음악 TOP20 을 알려드립니다.

YouTube 오디오 라이브러리는 콘텐츠 제작자가 저작권 침해에 대한 걱정 없이 동영상에 사용할 수 있는 방대하고 다양한 무료 음악 및 음향 효과 라이브러리입니다. 아래 URL...