bookMap = new Map() bookMap = Map(3) { 'Horror': [ { id: 9798721052927, title: 'Dracula', author: 'Brahm Stoker' }, { id: 9798721052928, title: 'Dracula 2', author: 'Brahm Stoker' } ], 'Romance': [ { id: 9798721052933, title: 'Love Story', author: 'Brahm Stoker' } ], 'Comedy': [ { id: 9797221052931, title: 'Ha Story', author: 'Brahm Stoker' } ] } const renameKey = (oldKey, newKey, { [oldKey]: old, ...others }) => ({ [newKey]: old, ...others }) nbm = renameKey('Horror', 'Cusisine', { ['Horror']: bookMap.get('Horror'), ...bookMap })¿Qué pongo como... otros para obtener la salida como bookMap con las 3 claves, no solo la recién modificada?
Su función está diseñada para un objeto, no para un Map . Un mapa desestructurado en una matriz de matrices. Si desea lograr la misma funcionalidad, puede usar un método como el siguiente:
const renameKey = (oldKey: string, newKey: string, map: Map<string, any>) => { const old = map.get(oldKey); const rest = [...map].filter(r => r[0] !== oldKey); return new Map( [[newKey, old], ...rest]); }