У меня такой массив.
[{"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"}]
Я создаю highcharts
диаграмму с использованием highcharts
диаграмм.
Формат данных для линейной диаграммы
[["2013-12-01",2372],["2014-01-01",2458],["2014-02-01",1636],["2014-03-01",2527],["2014-04-01",2129],["2014-05-01",149]]
Я понятия не имел, как это сделать.
Фактически результат получается из результата ajax.
Я получаю результат в Object Object
и я преобразовал его с помощью JSON.stringify
. Но после преобразования я получаю как ярлык, так и ценность.
Кто-то помогает мне получить данные в ожидаемом формате графика.
Заранее спасибо.
Вы можете сопоставить текущий массив и вернуть каждую метку внутри него в новый массив и т.д.
var new_arr = $.map(arr, function(itm) { return [itm.label, itm.value]; });
["2013-12-01", "2372", "2014-01-01", "2458", "2014-02-01", "1636", "2014-03-01", "2527", "2014-04-01", "2129", "2014-05-01", "149"]
.
var new_arr = JSON.stringify($.map(arr, function(itm) { return [[itm.label, itm.value]]; }));
Вы можете использовать встроенную функцию JavaScript Array.map(), аналогичную следующей:
var y = x.map(function(item){
return [item.label, item.value];
})
DEMO - использование Array.map
Вы можете использовать следующий код
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)
Скрипт для кода выше