ruby-on-rails - 映射到散列的键

标签 ruby-on-rails hashmap

我正在使用一个名为 的哈希值my_hash :

{"2011-02-01 00:00:00+00"=>816, "2011-01-01 00:00:00+00"=>58, "2011-03-01 00:00:00+00"=>241}

首先,我尝试解析 中的所有键my_hash (这是时间)。
my_hash.keys.sort.each do |key|
  parsed_keys << Date.parse(key).to_s
end 

这给了我这个:
["2011-01-01", "2011-02-01", "2011-03-01"]

然后,我尝试映射 parsed_keys 回到 的 key my_hash :
Hash[my_hash.map {|k,v| [parsed_keys[k], v]}]

但这会返回以下错误:
TypeError: can't convert String into Integer

如何映射 parsed_keys 回到 的 key my_hash ?

我的目标是摆脱所有键末尾的“00:00:00+00”。

最佳答案

你为什么不这样做?

my_hash.map{|k,v| {k.gsub(" 00:00:00+00","") => v}}.reduce(:merge)

这给你
{"2011-02-01"=>816, "2011-01-01"=>58, "2011-03-01"=>241}

关于ruby-on-rails - 映射到散列的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11505343/

相关文章:

javascript - 在 JS 中使用 "in"关键字和映射

ruby-on-rails - 使用 ruby​​ 将 Excel 和 Word 文件转换为 PDF

ruby-on-rails - Ruby rails - NilClass :Class 的未定义方法 `model_name'

java - 如何统计HashMap中唯一值的个数?

java - "update"HashMap 中的条目的有效方法?

java - 检查 Map 不包含 null 键和值

ruby-on-rails - 将 rails 应用程序部署到 Heroku 错误 ArgumentError : Invalid option: harmony

ruby-on-rails - 在页面上查找匹配 HREF 模式的链接

javascript - 从 javascript 调用 Rails 操作

java - 为什么使用排序(O(n log n) 复杂度)比使用 HashMap(O(n) 复杂度)更快地找到多数元素?