将按日期的日志折叠为散列数组

Art*_*ero 2 ruby hash grouping collapse

名为log的局部变量包含带有带时间戳事件的哈希数组,如下所示:

log = [
  {time: 201201, x: 2},
  {time: 201201, y: 7},
  {time: 201201, z: 2},
  {time: 201202, a: 3},
  {time: 201202, b: 4},
  {time: 201202, c: 0}
]
Run Code Online (Sandbox Code Playgroud)

我需要按日期将日志折叠为每天包含一个条目的哈希数组:

result = [
  {time: 201201, x: 2, y: 7, z: 2},
  {time: 201202, a: 3, b: 4, c: 0},
]
Run Code Online (Sandbox Code Playgroud)

dbe*_*hur 5

log.group_by {|e| e[:time] }.map {|_,v| v.reduce(:merge) }
Run Code Online (Sandbox Code Playgroud)