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.
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.