tengo un mapa de JavaScript con múltiples valores, es así (simplifiqué el código por razones obvias):
Map(2) { 'group1' => { username: 'userTest', dsId: '710300636817653790', openDate: '2021-12-13 18:29:16' }, 'group2' => { username: 'Juojo', dsId: '477581625841156106', openDate: '2021-12-13 18:29:23' } }Quiero obtener el valor de nombre de usuario (Juojo) del segundo grupo de datos. Intenté hacer esto:
console.log(map.get(group2.username)); pero esto me registra como "indefinido", cuando intento sin el ".username" ( console.log(map.get(group2)); ) me responde:
{ username: 'Juojo', dsId: '477581625841156106', openDate: '2021-12-13 18:29:23' }Solo quiero que la respuesta sea "Juojo"
Acceda a la propiedad de nombre de username en el objeto devuelto por get .
console.log(map.get(group2).username); Si es posible que la clave no exista, puede usar el operador de encadenamiento opcional, que producirá undefined en ese caso en lugar de causar un error.
console.log(map.get(group2)?.username);Debe intentar obtener el objeto que se ha almacenado en su map y luego intentar leer la propiedad del objeto devuelto, como se muestra a continuación:
const myMap = new Map([ ['group1',{ username: 'userTest', dsId: '710300636817653790', openDate: '2021-12-13 18:29:16' }], ['group2', { username: 'Juojo', dsId: '477581625841156106', openDate: '2021-12-13 18:29:23' }] ]) const userName = myMap.get('group2').username; console.log(userName);