ts-data-forge
    Preparing search index...
    • Creates a new array with unique elements based on a mapped value.

      Type Parameters

      • const Ar extends readonly unknown[]
      • P extends Primitive

      Parameters

      • array: Ar
      • mapFn: (value: Ar[number]) => P

      Returns Ar extends readonly [unknown, unknown]
          ? NonEmptyArray<Ar[number]>
          : readonly Ar[number][]

      const people = [
      { id: 1, name: 'Ada' },
      { id: 2, name: 'Brian' },
      { id: 1, name: 'Alan' },
      { id: 3, name: 'Grace' },
      ] as const;

      const uniqueById = Arr.uniqBy(people, (person) => person.id);

      const expected = [
      { id: 1, name: 'Ada' },
      { id: 2, name: 'Brian' },
      { id: 3, name: 'Grace' },
      ] as const;

      assert.deepStrictEqual<readonly Readonly<{ id: number; name: string }>[]>(
      uniqueById,
      expected,
      );