ts-data-forge
    Preparing search index...
    • Maps each element and flattens the result.

      Type Parameters

      • const Ar extends readonly unknown[]
      • B

      Parameters

      • array: Ar
      • mapFn: (a: Ar[number], index: ArrayIndex<Ar>) => readonly B[]

      Returns readonly B[]

      const words = ['Ada', 'AI'] as const;

      const characters = Arr.flatMap(words, (word) => word.split(''));
      const labeled = Arr.flatMap<string, string>((word, index) =>
      word.split('').map((char) => `${index}-${char}`),
      )(words);

      assert.deepStrictEqual(characters, ['A', 'd', 'a', 'A', 'I']);
      assert.deepStrictEqual(labeled, ['0-A', '0-d', '0-a', '1-A', '1-I']);
    • Maps each element and flattens the result.

      Type Parameters

      • A
      • B

      Parameters

      • mapFn: (a: A, index: Uint32) => readonly B[]

      Returns (array: readonly A[]) => readonly B[]

      const words = ['Ada', 'AI'] as const;

      const characters = Arr.flatMap(words, (word) => word.split(''));
      const labeled = Arr.flatMap<string, string>((word, index) =>
      word.split('').map((char) => `${index}-${char}`),
      )(words);

      assert.deepStrictEqual(characters, ['A', 'd', 'a', 'A', 'I']);
      assert.deepStrictEqual(labeled, ['0-A', '0-d', '0-a', '1-A', '1-I']);