개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.24 09:54

CollectionFind::groupBy 사용법에 대한 질문

목록
  • 깃허브매니아 27일 전 2025.06.24 09:54
  • 97
    1
제가 CollectionFind::groupBy를 사용하여 데이터를 그룹화할 때, 어떻게 그룹화 기준을 설정할 수 있는지 알려주세요?

예를 들어, 아래와 같은 데이터가 있을 때, "이름"이라는 필드를 기준으로 그룹화하고 싶습니다.

json

[

  { "이름": "김유신", "나이": 30 },

  { "이름": "김춘추", "나이": 25 },

  { "이름": "장보고", "나이": 35 },

  { "이름": "김유신", "나이": 30 }

]



이러한 데이터를 "이름" 기준으로 그룹화하면 어떻게 되나요? 그리고 그룹화된 결과를 어떻게 조회할 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  27일 전



    CollectionFind::groupBy는 데이터를 그룹화하는 메서드입니다. 그룹화 기준을 설정하기 위해서는 groupBy 메서드의 첫 번째 인자로 그룹화 기준이 되는 필드를 지정하면 됩니다.

    예를 들어, "이름"이라는 필드를 기준으로 그룹화하고 싶다면, 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    javascript
    
    const data = [
    
      { 이름: "김유신", 나이: 30 },
    
      { 이름: "김춘추", 나이: 25 },
    
      { 이름: "장보고", 나이: 35 },
    
      { 이름: "김유신", 나이: 30 }
    
    ];
    
    
    
    const groupedData = data.reduce((acc, current) => {
    
      const key = current.이름;
    
      if (!acc[key]) {
    
        acc[key] = [];
    
      }
    
      acc[key].push(current);
    
      return acc;
    
    }, {});
    
    
    
    console.log(groupedData);
    
    


    이 코드는 데이터를 "이름" 기준으로 그룹화하고, 그룹화된 결과를 객체 형태로 반환합니다.

    그룹화된 결과를 조회할 때, groupedData 객체를 사용할 수 있습니다. 예를 들어, "김유신"이라는 이름을 가진 데이터를 조회하고 싶다면, 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    javascript
    
    console.log(groupedData["김유신"]);
    
    


    이 코드는 "김유신"이라는 이름을 가진 데이터를 객체 형태로 반환합니다.

    그룹화된 결과를 조회할 때, 반복문이나 map 함수를 사용할 수 있습니다. 예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    javascript
    
    Object.keys(groupedData).forEach((key) => {
    
      console.log(`이름: ${key}, 데이터: ${JSON.stringify(groupedData[key])}`);
    
    });
    
    


    이 코드는 그룹화된 결과를 이름과 데이터를 포함한 객체 형태로 출력합니다.

    2025-06-24 09:55

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,786건 / 76 페이지

검색

게시물 검색