manish nautiyal
manish nautiyal

Reputation: 2594

how to get array of array in javascript

I'm creating graph and for this I need data in this form in javascript:

var currYear = [["2011-08-01",796.01], ["2011-08-02",510.5], ["2011-08-03",527.8], ["2011-08-04",308.48]]

Data is coming from JSON

var total_click = JSON.parse(<%=raw @report.to_json %>);
var i=0;
var graph_type = "";
var graph_typ = new Array();
while(i < total_click.length){
graph_typ.push("['"+total_click[i].report_date+"',"+total_click[i].clicks+"]");
i++;
}

Data which I get from this is below

['2012-03-19',48],['2012-03-20',14],['2012-03-21',934]

How do I get this format

[['2012-03-19',48],['2012-03-20',14],['2012-03-21',934]]

Upvotes: 1

Views: 69

Answers (2)

Guffa
Guffa

Reputation: 700860

Instead of creating a string, push the arrays into an array:

var total_click = JSON.parse(<%=raw @report.to_json %>);
var graph_type = [];
for(var i = 0; i < total_click.length; i++){
  graph_type.push([ total_click[i].report_date, total_click[i].clicks ]);
}

Upvotes: 4

GillesC
GillesC

Reputation: 10874

graph_typ.push("['"+total_click[i].report_date+"',"+total_click[i].clicks+"]");

is not the way you add an array into another one. Here you are building an array of strings.

while(i < total_click.length){
var arr = [];
arr.push(total_click[i].report_date);
arr.push(total_click[i].clicks);
graph_typ.push(arr);
i++;
}

Upvotes: 3

Related Questions