pols-utils - v5.3.11
    Preparing search index...

    Function groupBy

    • Groups elements of an array based on a key provided by a callback function.

      Type Parameters

      • T = never

        The type of elements in the array.

      • K = never

      Parameters

      • array: K[]

        The target array.

      • setterPropertyName: (element: K, index?: number) => string | number | symbol

        A callback function that gets the key of each group.

      • Optionaltransform: (element: K) => T

        A function that transforms each element before grouping.

      Returns PRecord<([T] extends [never] ? K : T)[]>

      A new object with the elements grouped by the key returned by the setterPropertyName function.

      const pets = [
      { type: 'dog', name: 'Fido' },
      { type: 'dog', name: 'Chacalin' },
      { type: 'cat', name: 'Mr. Brown' },
      { type: 'cat', name: 'Night' },
      ]
      console.log(PUtilsArray.groupBy(pets, pet => pet.type))
      // {
      // dog: [
      // { type: 'dog', name: 'Fido' },
      // { type: 'dog', name: 'Chacalin' },
      // ],
      // cat: [
      // { type: 'cat', name: 'Mr. Brown' },
      // { type: 'cat', name: 'Night' },
      // ],
      // }