2015-12-02 5 views
0

Я создаю диаграммы с highcharts скриптами, и я создал php-скрипт, который я вызываю с помощью ajax. Сценарий возвращает данные json, и мне нужно переформатировать его в формате базового столбца в формате highcharts.Javascript пользовательский объект от json

[{"count":"391","search_date":"2015-11-24","search_area":"lastni-pre"}, 
{"count":"63","search_date":"2015-11-24","search_area":"letalske"}, 
{"count":"501","search_date":"2015-11-24","search_area":"pocitnice"}, 
{"count":"114","search_date":"2015-11-24","search_area":"potovanja"}, 
{"count":"457","search_date":"2015-11-25","search_area":"lastni-pre"}, 
{"count":"103","search_date":"2015-11-25","search_area":"letalske"}, 
{"count":"509","search_date":"2015-11-25","search_area":"pocitnice"}, 
{"count":"84","search_date":"2015-11-25","search_area":"potovanja"}, 
{"count":"399","search_date":"2015-11-26","search_area":"lastni-pre"}, 
{"count":"106","search_date":"2015-11-26","search_area":"letalske"}, 
{"count":"385","search_date":"2015-11-26","search_area":"pocitnice"}, 
{"count":"96","search_date":"2015-11-26","search_area":"potovanja"}, 
{"count":"382","search_date":"2015-11-27","search_area":"lastni-pre"}, 
{"count":"56","search_date":"2015-11-27","search_area":"letalske"}, 
{"count":"244","search_date":"2015-11-27","search_area":"pocitnice"}, 
{"count":"77","search_date":"2015-11-27","search_area":"potovanja"}, 
{"count":"205","search_date":"2015-11-28","search_area":"lastni-pre"}, 
{"count":"40","search_date":"2015-11-28","search_area":"letalske"}, 
{"count":"303","search_date":"2015-11-28","search_area":"pocitnice"}, 
{"count":"95","search_date":"2015-11-28","search_area":"potovanja"}, 
{"count":"442","search_date":"2015-11-29","search_area":"lastni-pre"}, 
{"count":"59","search_date":"2015-11-29","search_area":"letalske"}, 
{"count":"515","search_date":"2015-11-29","search_area":"pocitnice"}, 
{"count":"83","search_date":"2015-11-29","search_area":"potovanja"}, 
{"count":"565","search_date":"2015-11-30","search_area":"lastni-pre"}, 
{"count":"125","search_date":"2015-11-30","search_area":"letalske"}, 
{"count":"550","search_date":"2015-11-30","search_area":"pocitnice"}, 
{"count":"128","search_date":"2015-11-30","search_area":"potovanja"}, 
{"count":"519","search_date":"2015-12-01","search_area":"lastni-pre"}, 
{"count":"78","search_date":"2015-12-01","search_area":"letalske"}, 
{"count":"489","search_date":"2015-12-01","search_area":"pocitnice"}, 
{"count":"101","search_date":"2015-12-01","search_area":"potovanja"}, 
{"count":"230","search_date":"2015-12-02","search_area":"lastni-pre"}, 
{"count":"56","search_date":"2015-12-02","search_area":"letalske"}, 
{"count":"244","search_date":"2015-12-02","search_area":"pocitnice"}, 
{"count":"43","search_date":"2015-12-02","search_area":"potovanja"}] 

Как я могу создать объект в JavaScript, который будет выглядеть следующим образом:

[{ 
    name: 'lastni-pre', 
    data: [391, 457, ...]}, 
{ 
    name: 'letalske', 
    data: [63, 103, ...]}, 
{ 
    name: 'pocitnice', 
    data: [501, 509, ...]}, 
{ 
    name: 'potovanja', 
    data: [114, 184, ...] 
}] 

Мне нужен этот объект для Highcharts основной колонки.

ответ

0

Вы можете использовать библиотеку underscore.js, чтобы помочь вам.

Затем вы можете сделать что-то вроде этого:

_.chain(yourItemArray) 
.groupBy('search_area') 
.map(function(value, key) { 
    return { 
     name: key, 
     data: _.pluck(value, 'count') 
    } 
}) 
.value(); 
Смежные вопросы