Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何分离和合并JSON数组元素(用于JQPlot)_Javascript_Jquery_Json - Fatal编程技术网

Javascript 如何分离和合并JSON数组元素(用于JQPlot)

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":[

我有一个从AJAX函数返回的JSON数组。该数组如下所示:

 {
    "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在文章中解释得足够清楚,行为应该是什么。