//面试经理说这是实际项目遇到的问题。var array1 = [{x:"00:00",y:5},{x:"00:15",y:5},{x:"00:30",y:5},{x:"00:45",y:5},...];
var array2= [{x:"00:00",y:15},{x:"00:15",y:67},{x:"00:30",y:54},{x:"00:45",y:3},..];
.
.
.
.
var series = [array1,array2,...arrayn];//注:就简单点:每个数组的长度都一样。时间间隔也是一样。
求var array = [["00:00",5,15,...],["00:15",5,67,..],...];

解决方案 »

  1.   

    随便写了一个 当然不一定是最优的 期待好算法~~~
    var array1 = [{x:"00:00",y:5},{x:"00:15",y:5},{x:"00:30",y:5},{x:"00:45",y:5}];
    var array2= [{x:"00:00",y:15},{x:"00:15",y:67},{x:"00:30",y:54},{x:"00:45",y:3}];
    var array3= [{x:"00:00",y:25},{x:"00:15",y:77},{x:"00:30",y:64},{x:"00:45",y:11}];
    var array4= [{x:"00:00",y:35},{x:"00:15",y:87},{x:"00:30",y:74},{x:"00:45",y:12}];
    var array5= [{x:"00:00",y:45},{x:"00:15",y:97},{x:"00:30",y:84},{x:"00:45",y:13}];
    var array6= [{x:"00:00",y:55},{x:"00:15",y:107},{x:"00:30",y:94},{x:"00:45",y:14}];
    var array7= [{x:"00:00",y:65},{x:"00:15",y:117},{x:"00:30",y:104},{x:"00:45",y:15}];
    var array8= [{x:"00:00",y:75},{x:"00:15",y:127},{x:"00:30",y:114},{x:"00:45",y:16}];
    var array9= [{x:"00:00",y:85},{x:"00:15",y:137},{x:"00:30",y:124},{x:"00:45",y:17}];
    var array10= [{x:"00:00",y:95},{x:"00:15",y:147},{x:"00:30",y:134},{x:"00:45",y:18}];
    var series = [array1, array2,array3,array4,array5,array6,array7,array8,array9,array10];
    var arr1 = [];
    var arr2 = [];
    var count = 0;
    series.shift();
    while (array1.length != 0) {
    arr2 = [];
    var obj = array1.shift();
    xval = obj.x;
    yval = obj.y;
    arr2.push(xval, yval)
    for (var i = 0, len = series.length; i < len; i++) {
    arr2.push(series[i][count].y)
    }
    arr1.push(arr2)
    count++;
    }
      

  2.   

    这么解  
    var array;
    for(var i =0;i<array1.length;i++i){
    var aryLth = array.length;
    array[aryLth] = new Array();
    array[aryLth][array[aryLth].length] = array1[i].X;
    for(var j = 0;j< series.length){
    array[aryLth][array[aryLth].length] = series[j][i].Y;
    }
    }
    没测哈  意思明白吧
    睡觉了
      

  3.   

    var array;
    for(var i =0;i<array1.length;i++){
    var aryLth = array.length;
    array[aryLth] = new Array();
    array[aryLth][array[aryLth].length] = array1[i].X;
    for(var j = 0;j< series.length;j++){
    array[aryLth][array[aryLth].length] = series[j][i].Y;
    }
    }
      

  4.   

    感谢二楼数据汗
    var array = new Array();
    for(var i =0;i<array1.length;i++){
        var aryLth = array.length;
        array[aryLth] = new Array();
        array[aryLth][array[aryLth].length] = array1[i].x;
        for(var j = 0;j< series.length;j++){
            array[aryLth][array[aryLth].length] = series[j][i].y;
        }
    }