【发布时间】:2021-12-08 22:08:13
【问题描述】:
我很难弄清楚如何访问我的 javascript 对象的属性。
我有一个 Node JS 应用程序,它从 WHO 下载带有 covid 数据的 CSV 文件,然后我遍历每个条目。以下是我遍历每个 CSV 条目的方式:
fs.createReadStream("data.csv")
.pipe(csv())
.on("data", (data) => {
//process data
})
.on("end", () => {
});
这是我运行 console.log(data) 时的一个输出示例
{
'Name': 'Niger',
'WHO Region': 'Africa',
'Cases - cumulative total': '6203',
'Cases - cumulative total per 100000 population': '25.63',
'Cases - newly reported in last 7 days': '64',
'Cases - newly reported in last 7 days per 100000 population': '0.26',
'Cases - newly reported in last 24 hours': '10',
'Deaths - cumulative total': '205',
'Deaths - cumulative total per 100000 population': '0.85',
'Deaths - newly reported in last 7 days': '1',
'Deaths - newly reported in last 7 days per 100000 population': '0',
'Deaths - newly reported in last 24 hours': '0'
}
如果我运行typeof data,我会得到object。
我想访问这个对象的一些属性。
如果我输出 data["WHO Region"] 我得到“非洲”。所以这行得通。
但是,我无法访问这些对象的名称。
console.log(data["Name"]);
console.log(data.hasOwnProperty("Name"));
分别输出undefined和false
即使名称属性存在于对象中。
我也尝试使用 Object.keys(data) 列出对象的键,结果如下:
[ 'Name', 'WHO Region', 'Cases - cumulative total', ... ]
显然,密钥名称确实存在,但由于某种原因我无法访问它。 我错过了什么吗?
【问题讨论】:
-
你有CSV文件的例子吗?只是为了澄清。
-
@koloml 这是来自该页面的 CSV 文件covid19.who.int/table 这是下载链接:covid19.who.int/WHO-COVID-19-global-table-data.csv
-
检查答案。此文件在内容的开头有一个字符。
标签: javascript json object properties