【发布时间】:2021-07-22 01:35:00
【问题描述】:
我对javascript很陌生,基本上是第一次使用它来编写直方图绘图仪应用程序。我的问题是,我正在导入一个数据文件,理想情况下将(一些)条目发送到一个数组中。问题是,一旦我这样做了,我就无法访问数组中的条目。 我怎么能解决这个问题?发布下面的代码以防万一。 谢谢!
let filename = 'uploads/testdata.dat';
const data_e = new Array();
d3.dsv(" ",filename, (event)=>{
data_e.push(event.mass);
return data_e
})
console.log(data_e);
哪些输出
Array []
0: "734.770828169"
1: "85.0912893849"
2: "87.383924186"
...
但是,如果我想获得一个值:
console.log(data_e[0]) //output: undefined
Edit1:我推送的值在console.log(event.mass) 中。
输出:
734.770828169 analyzer.php:19:12
85.0912893849 analyzer.php:19:12
87.383924186 analyzer.php:19:12
(...)
Edit2:如果我在 dsv 函数中调用 console.log(data_e),我的数组被填充时,每次迭代都会得到一行,以
结尾Array(7178) [ "734.770828169", "85.0912893849", "87.383924186", "1274.99805502", "91.5349415148", "80.2766459668", "1396.69489276", "91.5584443363", "94.52017453", "1582.29197222", … ]
这确实是我想要得到的对象。但是如果我想把它带到函数dsv() 之外,这样我得到和上面一样的输出呢?
Edit3:调用 console.log(JSON.stringify(event.mass)) 给出:
- 再次,每次“迭代”(我认为)一行,这是有道理的。我只想在该函数之外使用完整的数组(或者这可能只是一件愚蠢的事情.-.)
"734.770828169" analyzer.php:19:12
"85.0912893849" analyzer.php:19:12
"87.383924186" analyzer.php:19:12
"1274.99805502" analyzer.php:19:12
(...)
【问题讨论】:
-
请提供
console.log(event.mass)的输出。如果您不想显示实时数据,可以通过虚拟条目对其进行混淆。我只是想检查一下结构 -
用输出编辑,它只是一系列数字数据(可能是字符串,但以后可以修复)
标签: javascript arrays d3.js