Executando verificação de segurança...
1

Nossa ficou muito bom, eu já precisei trabalhar com esse tipo de operação e acabei fazendo nas piores formas possíveis kkkkkk

Segue uma outra alternativa utilizando a estrutura Map:

function createIndex<T>(list: T[], key: keyof T) {
    const index = new Map<string, T[]>();

    for (const item of list) {
        const indexKey = String(item[key]);
        const itemsForKey = index.get(indexKey) || [];
        itemsForKey.push(item);
        index.set(indexKey, itemsForKey);
    }

    return index;
}
Carregando publicação patrocinada...