Javascript加载多个csv并创建全局可访问数组
我需要加载很多csv文件。但是我正在加载这个函数Javascript加载多个csv并创建全局可访问数组,javascript,arrays,csv,Javascript,Arrays,Csv,我需要加载很多csv文件。但是我正在加载这个函数 $.ajax({ url: 'my.csv', dataType: 'text', }).done(successFunction); 然后我运行successFunction,用它创建数组,并使用与上面相同的代码,但用不同的函数名创建另一个数组,依此类推。这有很多相同的代码。加载多个csv和返回数组的最简单方法是什么 重要 我有时需要创建二维数组,另一个时间5等,所以函数必须包括该参数 使用如下函数创建阵列im: function s
$.ajax({
url: 'my.csv',
dataType: 'text',
}).done(successFunction);
然后我运行successFunction,用它创建数组,并使用与上面相同的代码,但用不同的函数名创建另一个数组,依此类推。这有很多相同的代码。加载多个csv和返回数组的最简单方法是什么
重要
我有时需要创建二维数组,另一个时间5等,所以函数必须包括该参数
使用如下函数创建阵列im:
function successFunction(data) {
var promenna = data.replace(/\n/g,";").split(";");
var result = [];
for (var i = 0; i < promenna.length; i+=2) {
var line = [];
line.push(promenna[i]);
line.push(promenna[i+1]);
result.push(line);
}
for (var i = 0; i < result.length; i += 1){
$("#tyden" + i + "").append(result[i][0]);
$("#tyden" + i + "kolik").append(result[i][1]);
}
}
函数成功函数(数据){
var promenna=data.replace(/\n/g,“;”).split(“;”);
var结果=[];
对于(变量i=0;i
但是对于另一个文件,我重复了基本相同的代码。我不知道如何对所有文件使用一个函数 首先,我使用您自己的CSV解析器取消注册。此问题已解决,请使用 问题的另一部分是“我需要使用jQuery通过HTTP加载许多文件”,这很简单
- 您可以使用jQuery的
动态转换传入数据.then()
- 在这种情况下,将其传递给CSV解析器就是转换
- 您可以使用jQuery的
单独处理响应.done()
- 您可以使用jQuery的
等待多个异步操作.when()
- 您可以使用jQuery的
来集体处理响应.done()
必要阅读:更像es6的东西
var urls = ['csv1.txt', 'csv2.txt', 'csv3.txt', 'csvN.txt']
var csvArr = await Promise.all(urls.map(url => fetch(url).then(res => res.text())))
> [csvContent1, csvContent2, csvContent3, csvContentN]
你有没有试过,但失败了?或者您正在找人为您编写代码?将
$ajax
调用引用推入一个对象数组,并使用$。当
完成所有文件读取时执行,并在完成
回调中捕获数据。看一下文档中的ajax示例:我很惊讶得到了公认的答案,您知道要支持它必须做些什么,对吗?
var urls = ['csv1.txt', 'csv2.txt', 'csv3.txt', 'csvN.txt']
var csvArr = await Promise.all(urls.map(url => fetch(url).then(res => res.text())))
> [csvContent1, csvContent2, csvContent3, csvContentN]