【发布时间】:2022-01-05 13:48:00
【问题描述】:
我正在处理一些我存储在 Nodejs 数组中的 HRV 数据。但是,每当我想访问存储在所述数组中的值时,它都会显示为“未定义”。我想读取的数组是由这段代码生成的:
let rr_data = [456,782,365,234,783,456,987,456,782,365,234,783,456,987,456,782,365,234,783,456,987]
let t = []
rr_data.reduce((current, next, i) => {
return t[i] = current + next
})
当我现在控制台日志“t”(console.table(t))时,它看起来像这样:
但是,每当我尝试单独访问一个元素时,例如console.log(t.at(0)) 或console.log(t[0]),它都会显示为“未定义”。为什么会发生这种情况,我该如何预防?
感谢您的帮助!
【问题讨论】:
-
你能解释一下
return t[i] = current + next应该做什么吗? -
它添加单元格值..
-
只有索引 0 不存在,因为您没有为
reduce提供初始值。因此,第一个元素(索引 0)作为初始值,reduce从索引 1 开始。您可以在回调中添加类似console.log({ current, next, i });的内容,以帮助您了解发生了什么。 -
谢谢!我通过 t[t.length] 和 t[0] 访问它,并认为整个数组都丢失了。真是愚蠢的错误。谢谢你帮助我!
-
每当您提出这样的问题时,请务必在问题中包含您想要的结果。因为您没有,所以您有两个答案,其中一个为您提供
456的第一个元素t(只是rr_data[0]的值不变),其中一个为您提供1238的第一个值(rr_data[0]和rr_data[1]相加的结果)。
标签: javascript node.js arrays