我有以下结构的文本文件:
2013-12-31 15:42,1
2013-12-31 15:45,1
2013-12-31 15:45,0
2013-12-31 16:18,0
2013-12-31 16:18,1
2013-12-31 16:27,1
2013-12-31 16:27,0
2013-12-31 17:11,0
2013-12-31 17:11,1
2013-12-31 18:11,1
2013-12-31 18:11,0
Run Code Online (Sandbox Code Playgroud)
我通过get()导入它:
$.get('graph_data.txt', function(data){
...}
Run Code Online (Sandbox Code Playgroud)
这工作正常.后来我将这个数据解析为数组:
var array3 = data.split("\n");
Run Code Online (Sandbox Code Playgroud)
但我需要做的是用逗号或换行符拆分它.我知道split可以得到正则表达式,但我所做的所有尝试都没有成功:
.split("[,\\n]");
.split("/,|\s/");
.split("/,|\s/m");
Run Code Online (Sandbox Code Playgroud)
对我有用的是分两步完成 - 首先分成一个分隔符,然后分成第二个分隔符:
var array3 = data.split("\n")[0].split(",");
var array5 = data.split("\n")[1].split(",");
Run Code Online (Sandbox Code Playgroud)
但如果我在文件中有更多数据,那就太疯狂了.
为了实现我想要实现的目标,我需要更多的亮点:我需要获得用于绘制图表的coordainates数组.第一个值是日期,第二个值是0或1.
var line=[
['2013-12-31 15:42',1],
['2013-12-31 15:45',1],
['2013-12-31 15:45',0],
['2013-12-31 16:18',0],
['2013-12-31 16:18',1],
['2013-12-31 16:27',1],
['2013-12-31 16:27',0],
['2013-12-31 17:11',0],
['2013-12-31 17:11',1],
['2013-12-31 18:11',1],
['2013-12-31 18:11',0]
];
Run Code Online (Sandbox Code Playgroud)
我通过将每对中的第二个字符串映射到int来做到这一点:
var a1 = [array3[0], array5[0]]; …Run Code Online (Sandbox Code Playgroud)