我有一个字符串,它有两组值,如下所示......
12/31/13_69,01/01/14_30,01/03/14_195,01/07/14_169
第一个是日期,第二个是该日期的值。我基本上想要从这个字符串创建2个数组(对于Highcharts图)。一个是日期数组,另一个是下面的数组......
{12/31/13,01/01/14,01/03/14,01/07/14}
{69,30,195,169}
您能否与我分享我可以用来创建此代码的Javascript代码?分裂函数的一些变体可能是?
提前致谢。
答案 0 :(得分:0)
首先用逗号分割,然后使用for循环按下划线分割,并将所有值分配给array1(包含日期)和array2(包含日期代码)。
var ms = "12/31/13_69,01/01/14_30,01/03/14_195,01/07/14_169"
var arr = ms.split(",")
var array1 = new Array()
var array2 = new Array()
var temp = ""
for(i=0; i<arr.length; i++)
{
temp=arr[i].split("_")
array1[i] = temp[0]
array2[i] = temp[1]
}
答案 1 :(得分:0)
您可以随时使用regular expression:
var str = '12/31/13_69,01/01/14_30,01/03/14_195,01/07/14_169',
dates = str.match(/\d{2}\/\d{2}\/\d{2}/g),
vals = str.match(/\d+(?=,|$)/g);
答案 2 :(得分:0)
您可以使用RegExp.prototype.exec()
查找连续匹配。
var results = { dates: [], values: [] },
s = '12/31/13_69,01/01/14_30,01/03/14_195,01/07/14_169',
regex = /(\d{2}\/\d{2}\/\d{2})_(\d+),?/g,
result;
while ((result = regex.exec(s)) !== null) {
results.dates.push(result[1]);
results.values.push(result[2]);
}