arrays - Ruby - 将数组转换为哈希
问题描述
我循环这个数组(时间实例):
[2018-05-23 8:00:00, 2018-05-23 8:30:00, 2018-05-23 9:30:00, 2018-05-24 15:00:00, 2018-05-24 15:30:00]
我想把它转换成这样的哈希:
{"2018-05-23"=>["2018-05-23 8:00:00", "2018-05-23 8:30:00"], "2018-05-24"=>[]}
谢谢 !
解决方案
input = ['2018-05-23 8:00:00', '2018-05-23 8:30:00',
'2018-05-23 9:30:00', '2018-05-24 15:00:00', '2018-05-24 15:30:00']
input.group_by { |e| DateTime.parse(e).to_date.to_s }
#⇒ {"2018-05-23"=>["2018-05-23 8:00:00", "2018-05-23 8:30:00", "2018-05-23 9:30:00"],
# "2018-05-24"=>["2018-05-24 15:00:00", "2018-05-24 15:30:00"]}
推荐阅读
- angular - Edge - 在 Angular iframe 上导航将 history.state 设置为 null
- python - 如何在scrapy shell之外获取新的URL并更新响应对象?
- spyder - spyder变量资源管理器中的轴和形状
- python - pydrive:尝试将文件从远程服务器上传到 Google Drive
- php - 测试条带 - 为结帐会话创建费用
- angular - Angular 8隐藏div并在按钮单击时显示div
- javascript - ngFor 和 trackBy 与来自 API 的异步数据仍然重新渲染 DOM?
- python - 将数据作为元组移交以在 abaqus python 代码中运行
- batch-file - 文件路径中有空白空间的批处理地狱
- python - 显示 Python 图像