2012-02-25 12 views
0

入れ子JSONとCoffeescriptで迷子になりました。Coffeescript 2次元配列理解

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

各アレイは、XおよびXは単なる指標であり、yの値を有する二次元配列に変換する必要があります。私はこのようになりJSONデータを有しています。だから、など

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

そして私はまた、明示的に「first_array」の名前を知らなくても動作するようにこれを必要とする配列

[[first_array], [second_array]] 

だけの配列を返す必要があり、

私は」私はそれが単なる基本的なJavaScriptのデータ操作の質問だと思って以来、これを一般化しようとしましたが、役立つなら、ここで使用されるD3.js関数d3.layout.stackのデータをフォーマットしようとしています:http://bl.ocks.org/1134768

ありがとうございます!

+0

は、結果の配列は次のようになりませんでしょう[[X:0、 012:y:y1]、[x:1、y:y2] ...] – jupp0r

+1

配列は文字列インデックスを持つことができないので、 '' first_array ':[{x:0、y:y1} {x:0、y:y2} ...] ' – Flambino

答えて

4

私は、これはあなたが達成したいものだと思い: ` "first_array":

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' } ] ]