我对 MongoDB 有一点问题,因为它总是返回带有双引号和整数作为 float 的键的哈希,这对其他人来说是个问题吗?
对于 map 减少或分组后的示例,假设我有一堆看起来像这样的哈希:
{"unknown"=>54.0, "pedestrians"=>572.0, "vehicles"=>1045.0}
但我真正想要的是:
{ unknown: 54, pedestrians: 572, vehicles: 1045 }
关于如何轻松转换它的任何想法?
最佳答案
你可以这样做:
original = {"unknown"=>54.0, "pedestrians"=>572.0, "vehicles"=>1045.0}
converted = Hash[ original.map { |key, value| [key.to_sym, value.to_i] } ]
或者,如果您使用的是 Rails,您可以将其设为 HashWithIndifferentAccess
并仅转换值:
original = HashWithIndifferentAccess.new(original)
original.each { |key, value| original[key] = value.to_i }
关于ruby-on-rails - ruby 用于哈希中的每个键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8407756/