Coffeescript二维数组理解

时间:2012-02-25 16:33:18

标签: json coffeescript d3.js

我迷失在嵌套的JSON和Coffeescript中。我有JSON数据,如下所示:

{
"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

谢谢!

1 个答案:

答案 0 :(得分: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' } ] ]