无法从 node.js 中对象中存在的键访问值

Can't access value from key existing in an object in node.js

我是 node.js 的初学者,运行 遇到了错误。所以我有一个名为 roomCards 的对象,它存储与玩家使用玩家 ID 作为键并将他们的卡作为值的卡相关的详细信息。现在的问题是,我无法使用与未定义完全相同的 playerId 来访问玩家卡。这是我正在处理的对象。

roomCards = {
roomId:5,
deckCards:[ '2C', '2D',  '2H',  '2S',  '3C', '3D',
      '3H', '3S',  '4C',  '4D',  '4H', '4S',
      '5C', '5D',  '5S',  '6C',  '6D', '6H',
      '6S', '7C',  '7D',  '7H',  '7S', '8C',
      '8D', '8H',  '8S',  '9C',  '9D', '9H',
      '9S', '10D', '10H', '10S', 'AC', 'AD',
      'AH', 'AS',  'JC',  'JH',  'JS', 'KD',
      'KH', 'KS',  'QC',  'QD',  'QH', 'QS'],
'W48PoPabFUSN9r-iAAAC': [ '5H', 'JD', 'KC' ] --------- this is the value i'm trying to access using the playerId key 
}

如有任何帮助,我们将不胜感激。祝你有美好的一天:)))

试试这个

roomCards["W48PoPabFUSN9r-iAAAC"]

无论何时使用字符串文字作为键,常规点运算符 (.) 都不起作用。在这种情况下,您将使用 [].

引用此类键

因此,在您的情况下,假设玩家 ID 存储在变量名称 playerId 中,您可以使用以下方法引用特定的 属性:

roomCards[playerId].

var roomCards = {
roomId:5,
deckCards:[ '2C', '2D',  '2H',  '2S',  '3C', '3D',
      '3H', '3S',  '4C',  '4D',  '4H', '4S',
      '5C', '5D',  '5S',  '6C',  '6D', '6H',
      '6S', '7C',  '7D',  '7H',  '7S', '8C',
      '8D', '8H',  '8S',  '9C',  '9D', '9H',
      '9S', '10D', '10H', '10S', 'AC', 'AD',
      'AH', 'AS',  'JC',  'JH',  'JS', 'KD',
      'KH', 'KS',  'QC',  'QD',  'QH', 'QS'],
'W48PoPabFUSN9r-iAAAC': [ '5H', 'JD', 'KC' ]
};

var playerId = 'W48PoPabFUSN9r-iAAAC';

console.log(roomCards[playerId]);