我正在查询来自网络服务的数据,在下一步中,我尝试以足以用于 highcharts 的格式解析数据:
var aData = response.d;
var arr = [];
for (i = 0; i < aData.length; i++) {
arr.push("["+[aData[i].FileDate2.replace("/Date(", "").replace(")/", ""), aData[i].AutoReleasedPct]+"]");
}
arr = "[" + arr + "]";
//alert(arr);
当我提醒结果时,我得到了这个:
[ [1502920800000, 85.714285714285], [1502834400000, 82.022471910112], [1502748000000, 100], [1502488800000, 100], [1502402400000, 100], [1502316000000, 100], [1502229600000, 94], [1502143200000, 96.774193548387] ]
但是,由于某种原因,当我推arr
送到 highchart 容器时它不起作用。但是当我复制结果并创建一个对象时它会起作用
dataseries3 = [[1502920800000, 85.714285714285], [1502834400000, 82.022471910112], [1502748000000, 100], [1502488800000, 100], [1502402400000, 100], [1502316000000, 100], [1502229600000, 94], [1502143200000, 96.774193548387]];
然后将其推到 highcharts ccontainer2(dataseries3);
为什么这些方法之间存在差异?它实际上完全一样吗?
在您的函数中,您只创建了一个如下所示的字符串:
"[elem1,elem2]"
但是您需要一个数组 object
来呈现highchart
.
为此,您可以使用JSON.parse()
方法。
JSON.parse
方法将string(json) 转换为 javascript对象。
简短示例:
var string="[[1,2],[3,4]]";
var array = JSON.parse(string);
console.log(array);
您必须按以下方式使用它:
ccontainer2(JSON.parse(arr));
另一种方法是直接创建一个数组。
var aData = response.d;
var arr = [];
for (i = 0; i < aData.length; i++) {
arr.push([aData[i].FileDate2.replace("/Date(", "").replace(")/", ""), aData[i].AutoReleasedPct]);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句