javascript - 为什么我无法访问我的 JS 对象属性?
问题描述
我正在尝试从 REST Api 重新格式化 JSON 数据,以便使用 d3 显示数据。d3 代码在一个角度组件内,但我认为这个问题与 javascript 更相关。我想使用的模板在这里:https ://bl.ocks.org/mbostock/3884955
我得到的数据被格式化为对象数组(我只想打印第一个),格式如下:
{"time":["2018-09-17T12:44:16.985Z","2018-09-17T12:44:17.982Z"],
"counts":[
[3539.8,3539.4],
Arr(2),
Arr(2),
Arr(2),
Arr(2)
]
}
--> 五个测量点,每个测量点有两个(在本例中)测量
这就是 d3 代码期望数据的方式:
(local var) data: {
id: string;
values: {
date: any;
count: any;
}[];
我试图实现的代码:
var keys_all=d3.keys(data[0].counts);
var measurementData = keys_all.map(function(id) {
return {
id: id.toString(),
values: data[0].counts[id].map(function(d,i) {
return {date: data[0].time[i], count: d};
})
};
});
当我使用 console.log() 时,结果正是我所期望的。但我无法在以下代码中访问属性“日期”和“时间”。
当我将鼠标悬停在结果变量上时,VS Code 只显示:
(local var) data: {
id: string;
values: any;
}[]
我还尝试记录字符串化的对象,这也有效。
有什么想法会出错吗?
解决方案
推荐阅读
- python - 如何找到在硒中有跨度的xpath?
- python - 从 pandas Series 字典列表转换为 DataFrame
- spring - Spring Boot 配置处理器在库/gradle 子项目中不起作用
- javascript - JavaScript 按字节长度截断文本
- react-native - 如何抽象 RefreshControl 组件?
- treeview - 在 ojet 树视图中搜索/过滤
- salesforce - 执行 sfdx 更新命令时出现 SHA 不匹配错误
- java - 如何将具有多个分隔符的字符串解析为长字符串
- java - 如何使用 HTTP/2 over TLS 发送 HTTP 请求?(Java 11 HttpClient)
- r - Shiny中的动态下拉选择