javascript - Javascript:如何将 XMLHTTPRequest 中的 csv 数据保存在数组中
问题描述
我尝试使用以下代码从 csv 文件中获取一些数据:(csv 文件是几行,它们是表中的不同行)
var newArray = []
function init() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
var lines = this.responseText.split("\n");
newArray.push(lines)
}
}
xhttp.open("GET", "CMDBsox.csv", true);
xhttp.send();
}
window.onload = init;
console.log(array)
The csv file looks like this:
(I just noticed that the first element of each line is not in quotes " )
First line: Lorem1, "Lorem2", "Lorem3", "Lorem4",...
Second line: Ipsum1, "Ipsum2", "Ipsum3", "Ipsum4",...
and so on
我将 'lines' 数组推入了一个名为newArray
.
现在我可以看到数组,但所有行都在另一个数组中,例如:
0:(21) [...]
0:["Sample1", "Sample2", "Sample3,...]
1:["Example1", "Example2", Example3",...]
2:["Test1", "Test2", "Test3",...]
等等……(21次)
我可以通过以下方式访问不同的数组(行):
"newArray[0][0]", "newArray[0][1]", "newArray[0][2]",...
但现在我有三个问题:
我可以通过控制台而不是通过代码访问它们......当我写
newArray[0][1]
我得到错误**"TypeError: array[0] is undefined"**.
但在控制台中我可以看到整个数组?如何在数组中创建新数组。例如,现在我有一个大字符串,
newArray[0][0]
但我需要数组中的单个元素我目前通过访问每条“线”,
newArray[0][i]
但我想通过newArray[i]..
如何将它们移动到“上部”数组中来访问它们,这样我就没有那个无用的第一个数组
谢谢你 :)
解决方案
我不明白您为什么将您的问题转移到读取文件的问题上,而这只是另一个表格副本的问题。
如果您期望得到好的答案,那么提出明确的问题是必不可少的。
所以将数组推入数组是个坏主意,请使用 Object.assign
var arr1 = [ 1,7 ,3 ,4 ,5];
var arr2 = [[]];
Object.assign (arr2[0], arr1)
console.log ('arr1 ...: ', JSON.stringify(arr1));
console.log ('arr2[0] : ', JSON.stringify(arr2[0]));
推荐阅读
- c# - 从 Azure 表存储中检索行
- javascript - 简化画布上的颜色
- angular - 当我在 Firebase 上部署 Angular 5 应用程序时,API 被阻止
- loops - Common Lisp dotimes 结果之谜
- reactjs - TypeScript React SFC children props type error
- android - 3 Admobs apps, 1 of which keeps failing on load with error code 3
- c# - 在构造函数中调用异步方法?
- django - Django 在表单中调整图像大小
- bash - Linux Bash 上的“dotnet ef dbcontext scaffold”问题
- javascript - 在javascript中将对象添加到复杂的json