我不知道如何获取 Javascript 地图上特定键的值(具有多组数据)

I dont know how to get a value of a specific key on a Javascript map (with multiple groups of data)

我有一个具有多个值的 JavaScript 映射,它是这样的(出于显而易见的原因我简化了代码):

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'
 }
}

我想获取第二组数据的用户名值(Juojo)。我试过这样做:

console.log(map.get(group2.username));

但这会记录我“未定义”,当我尝试不使用“.username”(console.log(map.get(group2));)时,它会回复我:

{
  username: 'Juojo',
  dsId: '477581625841156106',
  openDate: '2021-12-13 18:29:23'
}

我只想回复“Juojo”

get 返回的对象上访问 username 属性。

console.log(map.get(group2).username);

如果密钥可能不存在,您可以使用可选的链接运算符,在这种情况下它会产生 undefined 而不是导致错误。

console.log(map.get(group2)?.username);

您应该尝试获取存储在您的 map 中的对象,然后尝试读取返回对象的 属性,如下例所示:

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);