Javascript 同步加载 table 文件

Javascript load table file synchronously

我知道 this implementation 调用本地文本文件。

我的问题是,我不希望它异步读取文件。相反,我希望函数读取文件并将 returns 输出作为字符串变量。

我的文件是这种格式:

time    acceleration    velocity    position
0   0   0   0
0.1 0.7584280404    0.075842804 0.0075842804
0.2 0.1291023633    0.0887530404    0.0164595844
0.3 0.4040327317    0.1291563135    0.0293752158
0.4 0.8891570587    0.2180720194    0.0511824177
0.5 0.3481323377    0.2528852532    0.0764709431
0.6 0.8920292137    0.3420881745    0.1106797605
0.7 0.7375283292    0.4158410075    0.1522638613
0.8 0.2647998196    0.4423209894    0.1964959602
0.9 0.633358462 0.5056568356    0.2470616438
1   0.3901214569    0.5446689813    0.3015285419
1.1 0.4712272086    0.5917917022    0.3607077121
1.2 0.693854515 0.6611771537    0.4268254275
1.3 0.4248616176    0.7036633154    0.497191759

输出将存储在 obj 中,包含以下字段

obj.time
obj.acceleration
obj.velocity
obj.position

这些字段必须从文本文件的第一行获取。一切都是从本地主机完成的,没有什么是远程的,所以我不关心加载繁重的 js 库需要多长时间。如果有人让我知道我正在寻找的东西是否有捷径,那就太好了。如果没有图书馆这样做,请让我知道至少我可以同步读取文件。

您可以使用get请求自行下载文件内容和解析数据。使用 jQuery get 方法(你基本上可以用任何其他库替换 jQuery 或者忘记任何额外的库并手动发出 xhr 请求):

 $.ajax({
     url: 'http://domain.com/path/to/your/file.txt',
     async: true
   }).
   success(function (data) {
     var parsedData = parseMyFormat(data);
     console.log(parsedData[0].position);
   });

 function parseMyFormat (data) {
   var parsed = [];
   //split your data by new line and iterate over lines
     var item = {};
     //split each line by tab (\t) and put 
        item.time = col[0];
        item.acceleration = col[1];
        item.velocity = col[2];
        item.position = col[3];
     parsed.push(item);
 }