Javascript 如何分离和合并JSON数组元素(用于JQPlot)
我有一个从AJAX函数返回的JSON数组。该数组如下所示:Javascript 如何分离和合并JSON数组元素(用于JQPlot),javascript,jquery,json,Javascript,Jquery,Json,我有一个从AJAX函数返回的JSON数组。该数组如下所示: { "date":[ [ "2015-05-29", "2015-05-12", "2015-04-30", "2015-03-30", "2015-02-27", "2015-02-26" ] ], "close":[
{
"date":[
[
"2015-05-29",
"2015-05-12",
"2015-04-30",
"2015-03-30",
"2015-02-27",
"2015-02-26"
]
],
"close":[
[0,3,1,1,0,0]
],
"high":[
[1,3,2,1,0,1]
],
"low":[
[0,-1,0,-1,-1,-1]
]
}
我需要将“日期”和“结束”项混合成这样的东西,用于JQPlot
var line1=[['2008-06-30 8:00AM',4], ['2008-7-30 8:00AM',6.5], ['2008-8-30 8:00AM',5.7], ['2008-9-30 8:00AM',9], ['2008-10-30 8:00AM',8.2]];
我想我需要像这样循环一些东西,但我不确定如何将这些值连接到上面的新日期格式中
s3 = obj["close"][0];
dates = obj["date"][0];
for( var i = 0; i < dates.length; i++ ){
//not sure what to put here
}
s3=obj[“关闭”][0];
日期=obj[“日期”][0];
对于(变量i=0;i
你就快到了。
在循环之前创建一个新数组
var result = new Array;
然后在循环中,您将在每次迭代时向该数组添加一个新项
result.push([dates[i], s3[i]]);
现在,结果变量应该包含所需的数组。//从ajax返回的数据对象
// the data object you get back from your ajax
var data = {"date":[["2015-05-29","2015-05-12","2015-04-30","2015-03-30","2015-02-27","2015-02-26"]],"close":[[0,3,1,1,0,0]],"high":[[1,3,2,1,0,1]],"low":[[0,-1,0,-1,-1,-1]]}
var time = " 8:00AM"
var dates = data.date[0]
var s3 = data.close[0]
// make sure the data is valid
// (`dates` and `s3` must have the same length in order to join them)
if (dates.length !== s3.length) {
throw new Error('oh no! the data is invalid')
}
var line1 = []
for(var i = 0; i < dates.length; i++) {
line1.push([dates[i] + time, s3[i]])
}
var数据={“日期”:[“2015-05-29”,“2015-05-12”,“2015-04-30”,“2015-03-30”,“2015-02-27”,“2015-02-26”],“收盘”:[[0,3,1,1,0,0],“高”:[[1,3,2,1,0,1],“低”:[[0,-1,0,-1,-1]]
var time=“上午8:00”
变量日期=数据。日期[0]
var s3=数据。关闭[0]
//确保数据有效
//(`dates`和`s3`必须具有相同的长度才能加入它们)
if(dates.length!==s3.length){
抛出新错误('哦,不!数据无效')
}
变量line1=[]
对于(变量i=0;i
4,6.5,5.7,9,8.2从哪里来哦,等等,你的样本输入和输出数据完全没有关系。我同意这个例子是有缺陷的,但我认为OP在文章中解释得足够清楚,行为应该是什么。