SW/JavaScript

JavaScript : GroupBy 함수 : 예제, 구현

얇은생각 2020. 7. 9. 07:30
반응형

JavaScript : GroupBy 함수 : 예제, 구현

 

다음은 키를 사용하여 배열 및 그룹을 만드는 데 사용할 수 있는 도우미 기능입니다.

const groupBy = function (data, key) {
    return data.reduce(function (carry, el) {
        var group = el[key];

        if (carry[group] === undefined) {
            carry[group] = []
        }

        carry[group].push(el)
        return carry
    }, {})
}

export {
    groupBy
}

 

 

그룹화할 키와 함께 배열을 전달하여 배열에서 이 기능을 사용할 수 있습니다.

let array = [
    { name: "Name 1", value: 15 },
    { name: "Name 1", value: 30 },
    { name: "Name 2", value: 45 },
    { name: "Name 2", value: 70 }
]

console.log( groupBy(array, 'name') )

 

 

그러면 새 배열이 다음과 같이 출력됩니다.

[
   "Name 1" : [
       { name: "Name 1", value: 15 },
       { name: "Name 1", value: 30 },
   ],
   "Name 2" : [
       { name: "Name 2", value: 45 },
       { name: "Name 2", value: 70 }
   ],
]
반응형