image

배열 중복 카운트

태그
Javascript
상세설명배열 중복 개수 구하기
작성일자2023.12.13

자바스크립트에서 배열 중복 개수 구하기

중복 개수 구하는 방법

  • forEach()
  • const array = ['A', 'B', 'C', 'A']
    
    const result = {};
    array.forEach((x) => {
      result[x] = (result[x] || 0) + 1;
    })
    
    // 결과
    // {
    //  A: 2,
    //  B: 1,
    //  C: 1
    // }

    result[x] = (result[x] || 0) + 1 설명

    처음 A가 들어오면 result[A] 가 없기 때문에 result[x] = 0 + 1; 여기로 가서 A : 1을 만든다. 순회하다가 중복되는 마지막 A 가 들어오면 이미 result[A]가 존재하기 때문에 result[x] = result[x] + 1 식에 따라 1을 더해 2로 만든다.

    if(result[x])	{	
       result[x] = result[x] + 1;
    } else {
      result[x] = 0 + 1;
    }

  • reduce()
  • 배열의 각 요소를 순회하며 callback함수의 실행 값을 누적 하여 하나의 결과 값을 반환한다.

    문법 : reduce(callbackFn, initialValue) ( initialValue는 optional한 값 )

    const result = array.reduce((accumulator, currentValue) => {
      accumulator[currentValue] = (accumulator[currentValue] || 0) + 1;
      return accumulator;
    },{});
    
    // 결과
    // {
    //  A: 2,
    //  B: 1,
    //  C: 1
    // }