2014-11-16 2 views
3

У меня есть этот объект:Как преобразовать объект JavaScript в массив

var json = { 
    "alex" : [ 
    {'count' : 1, 'date': 2}, 
    {'count' : 2, 'date': 2}, 
    ], 
    "alex" : [ 
    {'count' : 10, 'date': '1'}, 
    {'count' : 20, 'date': '10'}, 
    ], 
}; 

Как преобразовать его в:

var arr = [ 
    { 
    name: 'alex', 
    data: [[10,1],[20,2]] 
    }, 
    { 
    name: 'bob', 
    data: [[10,1],[20,2]] 
    } 
] 
+1

Это не JSON. Это литерал объекта javascript. И это неверно, поскольку вы не можете иметь одно и то же свойство, перечисленное дважды. Сказав это, вы приложили все усилия для достижения этого? –

+0

передавать данные с php на highcharts {type area и many series}, так что, как я думаю, это преобразование php-массива в json, я получил формат выше, и он хорошо работает –

ответ

7
var json = { 
    "alex" : [ 
    {'count' : 1, 'date': 2}, 
    {'count' : 2, 'date': 2}, 
    ], 
    "bob" : [ 
    {'count' : 10, 'date': '1'}, 
    {'count' : 20, 'date': '10'}, 
    ], 
}; 


var res = Object.keys(json).map(function (el) { 
    return { 
    name: el, 
    data: json[el].map(function (e) { 
     return [e.count, e.date]  
    }) 
    } 
}) 

console.log(res); 
+0

вы спасли мой день, спасибо большое –