我不知道如何获取 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);
我有一个具有多个值的 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);