transform data

by Yoshiharu Kamata

HTML

<div id="result"></div>

CoffeeScript

x = 
  "2014":
    "01":
      "20":
        a: "100"
        b: "200"
        c: "300"
      "21":
        a: "101"
        b: "103"
        c: "104"
    "10":
      "10":
        a: "300"
        b: "301"
        c: "302"
  "2015":
    "04":
      "20":
        a: "1300"
        b: "2030"
        c: "3030"
      "21":
        a: "1301"
        b: "1033"
        c: "1034"
    "12":
      "10":
        a: "3030"
        b: "3031"
        c: "3032"
y = x

y = _.reduce x, (r, yitem, y)->
      _.each yitem, (mitem, m)->
        _.each mitem, (item, d)->
          r.push _.extend {}, item, 
            date: [y,m,d].join "-"
      r
    , []
console.log y
document.getElementById("result").innerHTML = JSON.stringify y