2012-02-25 68 views
0

我迷失在嵌套的JSON和Coffeescript中。我有,看起來像這樣JSON數據:Coffeescript二維數組理解

{ 
"top-level": { 
    "first_array": [y1,y2,y3...], 
    "second_array: [y1,y2,y3...]... etc 
} 

每個陣列需要被轉換到與x和y值的二維陣列,其中x只是索引。所以

"first_array": [[x: 0, y: y1],[x: 0, y: y2]...] 

然後我需要返回只是一個數組的數組

[[first_array], [second_array]] 

我還需要這不知道的「first_array」明確姓名的工作等

我已經盡力概括這一點,因爲我認爲這僅僅是一個基本的JavaScript數據操作的問題,但如果是有幫助的,我想在這裏格式用於D3.js功能d3.layout.stack數據:http://bl.ocks.org/1134768

謝謝!

+0

豈不結果數組是這樣的: ' 「first_array」:[X:0, y:y1],[x:1,y:y2] ...]' – jupp0r 2012-02-25 16:36:28

+1

數組不能有字符串索引,所以它應該是:''first_array「:[{x:0,y:y1}, {x:0,y:y2} ...]' – Flambino 2012-02-25 16:48:40

回答

4

我想這是你想要完成的任務:

obj = {"top-level": {"first_array": ["y1","y2","y3"], "second_array": ["y1","y2","y3"]}} 
({x: xi, y: yi} for yi,xi in ar for name,ar of obj['top-level']) 

息率

[ [ { x: 0, y: 'y1' }, 
    { x: 1, y: 'y2' }, 
    { x: 2, y: 'y3' } ], 
    [ { x: 0, y: 'y1' }, 
    { x: 1, y: 'y2' }, 
    { x: 2, y: 'y3' } ] ]