新手在这里。抓我的头。
我有2个阵列:
arr1 = ["a", "b", "c", "d"]
arr2 = ["1", "2", "3", "4"]
我想使用arr1
元素作为键和arr2
元素作为值来创建哈希值。我希望arr2
(或arr1
,并不重要)是随机的。
结果示例:
hash = {"a"=>"3", "b"=>"1", "c"=>"2", "d"=>"4"}
答案 0 :(得分:3)
所以有很多方法可以做到这一点,但我会以我最喜欢的方式做到这一点
arr1.zip(arr2.shuffle).to_h
这会随机播放(随机)arr2
,以便arr2
成为['3', '1', '2', '4']
(例如),然后将arr1
和arr2
一起拉入多维数组{{ 1}}。然后[['a', '3'], ['b', '1'], ['c', '2'], ['d', '4']]
将其转换为哈希,第一个元素作为键,第二个元素作为值。
答案 1 :(得分:0)
我很确定在S.O.回答了类似的问题。之前,like here。
无论如何,你可以这样做:
> hash = Hash[arr1.zip(arr2.shuffle)]
=> {"a"=>"1", "b"=>"2", "c"=>"3", "d"=>"4"}
提示:不要忘记大致了解基本结构的文档。