JavaScript 배열 요소 중복 횟수 구하는 방법
(How to Count duplicate value in array in JavaScript)
JavaScript에서 배열 안에 요소들의 중복되는 횟수를 구하는 방법을 알려드리도록 하겠습니다.
목차
- reduce() 사용하는 방법
- for() OR forEach() 사용하는 방법
reduce() 사용하는 방법
const getElCount = (arr) => arr.reduce((ac, v) => ({ ...ac, [v]: (ac[v] || 0) + 1 }), {});
const array = ['A', 'B', 'C', 'D', 'A', 'A', 'C', 'E', 'D', 'E', 'A'];
const test = getElCount(array);
console.log(test);
// Output
// {A: 4, B: 1, C: 2, D: 2, E: 2}
JavaScript에 관한 글을 작성할 때 마다 말씀드리는 것 같은 제가 사용하기 정말 좋아하는 reduce()를 사용해서 배열 내부에 있는 모든 요소들의 중복 횟수를 구할 수 있습니다.
for() OR forEach() 사용하는 방법
const getElCount = (arr) => {
let result = {}
for(const el of arr) {
result[el] = (result[el] || 0) + 1;
}
return result;
}
const array = ['A', 'B', 'C', 'D', 'A', 'A', 'C', 'E', 'D', 'E', 'A'];
const test = getElCount(array);
console.log(test);
// Output
// {A: 4, B: 1, C: 2, D: 2, E: 2}
결과로 반환할 object를 미리 생성해둔 뒤 for() 혹은 forEach() 를 사용해서 각 요소별 개수를 증가시켜주는 방식으로도 간단하게 배열 내부에 있는 모든 요소들의 중복 횟수를 구할 수 있습니다.
이상으로 JavaScript에서 배열 안에 요소들의 중복되는 횟수를 구하는 방법에 대한 설명을 마치도록 하겠습니다.
도움이 되셨다면 공감, 댓글 부탁드립니다!
궁금하신 점이나 요청사항은 언제든지 말씀해주세요!
피드백도 언제나 환영입니다!
감사합니다.
'Developer > JavaScript' 카테고리의 다른 글
JavaScript Debounce(디바운스), Throttle(스로틀) 이란? (구현 방법 포함) (0) | 2022.12.16 |
---|---|
JavaScript 배열에서 특정 요소 개수 구하는 방법 (0) | 2022.07.25 |
JavaScript 배열 중복 제거하는 방법 5가지 (5) | 2022.01.11 |
date-fns 사용 방법 - JavaScript 날짜 라이브러리 (0) | 2021.10.11 |
day.js 사용 방법 - JavaScript 날짜 라이브러리 (9) | 2021.10.10 |
댓글