首页 > 解决方案 > 将元素添加到散列中的数组

问题描述

我有一个带有表格的文件,其中显示了一些用户之间的关系:

user1.  user2
a.       1
b.       1
c.       2
d.       2
e.       2

...

为此,我想创建这种哈希:

my_hash = {"1"=>​​ ['a','b'], "2"=> ['c', 'd', 'e']}

我现在遇到的问题是我找不到添加到数组的方法:

例如,我有my_hash = {"1"=> ['a'], "2"=> ['c', 'd', 'e']},如何将“b”添加到键“1”?

我试过

months = Hash.new

months['1'] = ['a']

months['1'] << ['b']

但我得到了这个结果:{"111-111"=>["1111-aaaa", ["2222-bbb"]]}

标签: arraysruby-on-rails

解决方案


设置months['1'] = ['a']后,该键的值就是一个数组。

你想推'b'入那个数组。

irb> months = Hash.new
=> {}
irb> months['1'] = ['a']
=> ["a"]
irb> months['1'] << 'b'
=> ["a", "b"]

推荐阅读