Question

I have an array like this.

[{"label":"2013-12-01","value":"2372"},{"label":"2014-01-01","value":"2458"},{"label":"2014-02-01","value":"1636"},{"label":"2014-03-01","value":"2527"},{"label":"2014-04-01","value":"2129"},{"label":"2014-05-01","value":"149"}]

I'm creating a line chart using highcharts.

Data excepted format for line chart is

[["2013-12-01",2372],["2014-01-01",2458],["2014-02-01",1636],["2014-03-01",2527],["2014-04-01",2129],["2014-05-01",149]]

I got no idea on how to do it.

Actually the result is from a ajax result.

I get the result in Object Object and I converted it using JSON.stringify. But after converting I get both label and value.

Someone help me out to get the data in the chart expected format.

Thanks in advance.

Was it helpful?

Solution

You can map the current array and return each label inside it into a new array etc

var new_arr = $.map(arr, function(itm) { return [itm.label, itm.value]; });

OTHER TIPS

You could use JavaScript's native Array.map() function, similar to this:

var y = x.map(function(item){
    return [item.label, item.value];
})

DEMO - Using Array.map


You can use following code

var orgArr = [{"label":"2013-12-01","value":"2372"},{"label":"2014-01-01","value":"2458"},  {"label":"2014-02-01","value":"1636"},{"label":"2014-03-01","value":"2527"},{"label":"2014-04-01","value":"2129"},{"label":"2014-05-01","value":"149"}]
var newArr = []
$.each(orgArr, function( index, value ) {
  newArr.push([value.label, value.value]);
});
console.log(newArr)

Fiddle for above code

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top