Javascript加载多个csv并创建全局可访问数组

Javascript加载多个csv并创建全局可访问数组,javascript,arrays,csv,Javascript,Arrays,Csv,我需要加载很多csv文件。但是我正在加载这个函数 $.ajax({ url: 'my.csv', dataType: 'text', }).done(successFunction); 然后我运行successFunction,用它创建数组,并使用与上面相同的代码,但用不同的函数名创建另一个数组,依此类推。这有很多相同的代码。加载多个csv和返回数组的最简单方法是什么 重要 我有时需要创建二维数组,另一个时间5等,所以函数必须包括该参数 使用如下函数创建阵列im: function s

我需要加载很多csv文件。但是我正在加载这个函数

$.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加载许多文件”,这很简单

  • 准备一个文件URL列表
  • 将其转换为请求列表。
    • 您可以使用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]