JS或JQuery - 将数据推送到二维数组?

时间:2014-04-29 18:31:42

标签: javascript jquery arrays

我正在使用jqPlot构建一些动态图表。

jqPlot为其数据采用2D数组,因此:

$.jqplot('chartdiv',  [[[1, 2],[2,5.12],[3,13.1],[7,33.6],[9,85.9],[21,219.9]]],
{ title:'progress',
  axes:{yaxis:{min:0, max:240}},
  series:[{color:'#5FAB78'}]
});

第一个数字是x轴(在本例中为1,2,3,7,9和21),第二个数字是y轴。 chartdiv是显示图形的html元素,其余部分是自解释的。

我想从我的localStorage获取数据并将其推送到一个允许我将其显示为图形的数组,我无法解决如何执行此操作。

如果我的数组是用

声明的
var graphdata = [];

如何将数据推入其中?我使用这样的循环来获取内容:

var dt          = new Date();
var today       = dt.getDateKey();
var df          = getStartDate(period);
var datefrom    = df.getDateKey();  
var graphdata = [];
alert("Today is " + today + " and the graph will be calculated from " + datefrom);
while (df<=dt) {                
    dataObject = JSON.parse(localStorage.getItem(df.getDateKey()));     
    if(dataObject){
        var dateposition = df.getDateKey();
        console.log("Date is " + dateposition);
        console.log("The Weight is " + dataObject.savedobs1);
        graphdata.push([dateposition,dataObject.savedobs1]);            
    }
    df.setDate(df.getDate() + 1);
};
console.log("Graph data " + graphdata);     

我需要将日期位置和数据放入图表中,我无法确定如何将其设置为正确的格式。图数据的console.log只给出:

Graph data ,26/04/2014,118,27/04/2014,116,28/04/2014,116,29/04/2014,105 

1 个答案:

答案 0 :(得分:3)

您当前的设置是在您的顶级数组中的第一个空数组之后附加数据。

如果问题实际上是关于如何将数据推送到嵌套数组中,请在完成后将其包装。

// create an empty array
var list = [];

// push data
list.push([1,2]);
list.push([3,4]);
list.push([5,6]);

// wrap the result before you return it
console.log([list]);
    // returns [[[1,2],[3,4],[5,6]]]

DEMO

输出:enter image description here