Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0') -- when all objects are not-undefined

Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0') -- when all objects are not-undefined

使用 d3.js 进行数据可视化。我在 javascript 方面是个新手,但我来这里是为了找出问题的根源。

我正在尝试绘制一些基于电影的数据,其中每个数据点都是字符串数据类型。因此,我必须将日期转换为 Date 数据类型,将 Movie Ratings 转换为 Number 或 Float 数据类型,以便 d3 正确绘制数据,否则会出错。

差不多吧,数据是存储在一个数组中的,这个数组保存着另外11个数组,每个影评人一个,其中每个影评人数组保存了237个对象对应当年观看的每一部电影,其中每个对象看起来像

    {
    "key": "Derek",
    "Date": "2019-01-25T05:00:00.000Z",
    "value": 5,
    "Movie": "The Butterfly Effect",
    "Pickedby": "Dan"
} 

其中key是影评人,Pickedby是挑选电影的人。

这是我用来将 1/25/2019 之类的日期转换为 "2019-01-25T05:00:00.000Z" 的代码 并试图将值项(从字符串)转换为数字或浮点数。 (有些评分可以是 3.5、6.5 等)

for (let j = 0; j < series.length; j++) {
    for (let i = 0; i <series[j].length; i++){

      series[j][i].Date = new Date(series[j][i].Date)
      series[j][i].value = Number(series[i][j].value)
    
    }
}

代码的日期转换行按预期工作。 但是,将 value 项转换为数字或浮点数会导致出现 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading '0') 错误。

事实是,整个数组中的所有值项数据都是一个字符串。没有未定义的问题。当然,有些值是 (x's) 或其他一些字母字符,但至少应将其转换为 NaN,并且它适用于某些。

根据我提供的信息,您对为什么会出现此错误有任何想法吗?我总能提供更多细节。

谢谢!

代码中似乎有错字,您没有在转换为 Number 的过程中访问正确的值。

而不是:

series[j][i].value = Number(series[i][j].value)

应该是:

series[j][i].value = Number(series[j][i].value)