Javascript 为什么可以';我不能访问我的JS对象属性吗?

Javascript 为什么可以';我不能访问我的JS对象属性吗?,javascript,json,angular,d3.js,jsobject,Javascript,Json,Angular,D3.js,Jsobject,我试图从RESTAPI重新格式化JSON数据,以便用d3显示数据。d3代码位于angular组件中,但我认为问题更多地与javascript有关。 我要使用的模板如下: 我得到的数据被格式化为对象数组(我只想打印第一个对象),格式如下: {"time":["2018-09-17T12:44:16.985Z","2018-09-17T12:44:17.982Z"], "counts":[ [3539.8,3539.4], Arr(2),

我试图从RESTAPI重新格式化JSON数据,以便用d3显示数据。d3代码位于angular组件中,但我认为问题更多地与javascript有关。 我要使用的模板如下:

我得到的数据被格式化为对象数组(我只想打印第一个对象),格式如下:

{"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代码仅显示:

(local var) data: {
id: string;
values: any;
}[]
我还尝试记录stringized对象,这同样有效


有什么想法会出错吗?

什么是
Arr(2)
应该是什么意思?这不是有效的JSON。不确定为什么要在另一个映射中使用映射…抱歉,我只是懒惰,Arr(2)是一个包含两个度量值的数组,就像上面的一个一样。。。有更好的办法吗?我想我需要两种映射,第一种映射用于测量点,第二种映射用于测量。从您显示的格式化函数返回的对象开始,您究竟是如何尝试访问这些
date
time
属性的?(从这里,我在返回的对象中没有看到任何
time
属性,但是有一个
returned.values[n].date
)这就是我尝试访问count属性的方式,例如:
This.yScale.domain([d3.min(measurementData,function(c){return d3.min(c.values,function(d){return d d.count;})}),d3.max(measurementData,函数(c){返回d3.max(c.values,函数(d){返回d.count;});})