【发布时间】:2021-01-07 06:55:46
【问题描述】:
users = [
{"id":1, "zipcode":"10031"},
{"id":4, "zipcode":"10000"},
{"id":2, "zipcode":"10031"},
{"id":3, "zipcode":"10031"}
]
大家好。我需要帮助来减少我的代码过程。 我有一个用户存储的数据。 我想在我的第一行代码中实现这一点
[
{"id":1, "zipcode":"10000", "users_count": 1},
{"id":2, "zipcode":"10031", "users_count": 3},
]
我的代码:
user = User.select(:zipcode).group(:zipcode).count(:id)
上面代码的结果是
{"10000"=>1, "10031"=>3}
- 所以我需要分离键和值
keys = user.keys
values = user.values
- 做一个循环
i = 0
num = keys.length.to_i
zipcodes = []
while i < num do
zipcode = keys[i]
users_count = values[i]
zipcodes[i]= zipcode , users_count
i +=1
end
如果上面的代码是[[10000, 1], [10031, 3]]的结果
如果这段代码我想改变结果
user = User.select(:zipcode).group(:zipcode).count(:id)
从此
{"10000"=>1, "10031"=>3}
到这个
[{"id":1, "zipcode":"10000", "users_count": 1},{"id":2, "zipcode":"10031", "users_count": 3}]
感谢您的帮助。
【问题讨论】:
标签: ruby-on-rails ruby rails-activerecord