无法访问对象中的特定键

问题描述

我在 node.js (sync api) 中使用 csv-parse 将 csv 解析为 js 对象。一切都很好,只是我在访问第一个键值对时遇到了很多麻烦。

如果我控制台记录我得到的结果对象

//object scorecard
{
  'PlayerName': 'Par',CourseName: 'Lismore Park Wanaka',LayoutName: 'Mid 2020 (New Hole Numbering)',Date: '01-07-21 12:44',Total: '55','+/-': '',Hole1: '3',Hole2: '3',Hole3: '3',Hole4: '3',Hole5: '3',Hole6: '3',Hole7: '3',Hole8: '3',Hole9: '4',Hole10: '3',Hole11: '3',Hole12: '3',Hole13: '3',Hole14: '3',Hole15: '3',Hole16: '3',Hole17: '3',Hole18: '3'
}

尝试访问 PlayerName 我得到未定义,我假设是因为 PlayerName 是在引号中(这个对象是由 csv-parse 生成的)。 scorecard.PlayerName 和 scorecard['PlayerName'] 不起作用。但是,如果我使用..

let keys = Object.getOwnPropertyNames(scorecard) 
console.log(scorecard[keys[0]])

我确实得到了理想的结果。

解决方法

var a = {
  'PlayerName': 'Par',CourseName: 'Lismore Park Wanaka',LayoutName: 'Mid 2020 (New Hole Numbering)',Date: '01-07-21 12:44',Total: '55','+/-': '',Hole1: '3',Hole2: '3',Hole3: '3',Hole4: '3',Hole5: '3',Hole6: '3',Hole7: '3',Hole8: '3',Hole9: '4',Hole10: '3',Hole11: '3',Hole12: '3',Hole13: '3',Hole14: '3',Hole15: '3',Hole16: '3',Hole17: '3',Hole18: '3'
};

console.log(a['PlayerName'])

,

经过上面提供的完整性检查(谢谢)后,在所讨论的对象属性的开头发现了一个 0 宽度的无间断空格字符。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...