Group and sum array of hashes by date
2024-09-22 00:24:06
I have an array of hashes like this:
[{:created=>Fri, 22 Jan 2014 13:02:13 UTC +00:00, :amount=>20},
{:created=>Fri, 27 Jan 2014 13:14:57 UTC +00:00, :amount=>15},
{:created=>Fri, 27 Jan 2014 14:42:40 UTC +00:00, :amount=>10},
{:created=>Fri, 28 Jan 2014 15:26:58 UTC +00:00, :amount=>10},
{:created=>Fri, 28 Jan 2014 15:30:18 UTC +00:00, :amount=>20},
{:created=>Fri, 31 Jan 2014 15:32:46 UTC +00:00, :amount=>50},
{:created=>Fri, 31 Jan 2014 15:33:29 UTC +00:00, :amount=>40}]
I'd like to group those hashes by date and sum the amounts. So, in my example, the output would be:
[{:created=>"2014-01-22", :amount=>20},
{:created=>"2014-01-27", :amount=>25},
{:created=>"2014-01-28", :amount=>30},
{:created=>"2014-01-31", :amount=>90}]require 'date' a = [{:created=> 'Fri, 22 Jan 2014 13:02:13 UTC +00:00', :amount=>20},
{:created=>'Fri, 27 Jan 2014 13:14:57 UTC +00:00', :amount=>15},
{:created=>'Fri, 27 Jan 2014 14:42:40 UTC +00:00', :amount=>10},
{:created=>'Fri, 28 Jan 2014 15:26:58 UTC +00:00', :amount=>10},
{:created=>'Fri, 28 Jan 2014 15:30:18 UTC +00:00', :amount=>20},
{:created=>'Fri, 31 Jan 2014 15:32:46 UTC +00:00', :amount=>50},
{:created=>'Fri, 31 Jan 2014 15:33:29 UTC +00:00', :amount=>40}]a.group_by { |h| Date.parse h[:created] }.map { |k,v|{:created => k.to_s,:amount => v.map {|h1| h1[:amount]}.inject(:+)}}
最新文章
- WPF自定义控件第一 - 进度条控件
- FlexiGrid 使用 全选、自动绑定
- SOAPUI测试步骤----DataGen TestStep
- Cocos2d-JS工程中的文件结构
- 利用MyEclipes的反转工程来配置Hibernate各种配置
- 【转载】#323 - A Generic Class is a Template for a Class
- openerp经典收藏 深入理解报表运行机制(转载)
- C#后台程序与HTML页面中JS方法互调
- win7使用USB转串口连接mini2440方法
- [Python笔记][第一章Python基础]
- WPF 文本滚动效果 渐变效果
- Atom 编辑器安装 linter-eslint 插件,并配置使其支持 vue 文件中的 js 格式校验
- Ubuntu14.04安装androidStudio错误解除
- hbuilder中的wap2app (将M站快速转换成App的开发框架)使用过程有关原生标题的关闭
- 【Java基础】for循环实现在控制台打印水仙花数
- 常用的Eclipse 快捷键
- Spring + SpringMVC配置
- Unity发布Windows程序遇到的问题
- AngularJS 、Backbone.js 和 Ember.js 的比较
- python学习,day4:装饰器的使用示例
热门文章
- 【程序员小助手】Emacs,最强编辑器,没有之一
- 【Java基础】“数三退一”问题的代码实现
- 使用jQuery和css3实现了仿淘宝ued博客左边的菜单切换动画
- FastReport的再次使用
- Android应用公布的准备——生成渠道包
- 遗传算法解决旅行商问题(TSP)
- opencv-形态处理
- SQL Server 2008 R2 性能计数器详细列表(二)
- C++学习笔记36 (模板的细节明确template specialization)和显式实例(template instantiation)
- 【Java编码准则】の #02不要在client存储未加密的敏感信息