如何用Ruby中另一个数组的值对散列进行排序?

问题描述 投票:2回答:2

看起来像小菜一碟,但解决不了..

elements = ['one', 'two', 'three']

sort_me = {'three': 3, 'two': 2, 'one': 1}

sort_me.sort_by { |k, _| elements.index k }.to_h不会按照应有的方式对其进行排序。哈希保持不变。

所需的输出是{:one=>1, :two=>2, :three=>3}

arrays ruby sorting hash
2个回答
1
投票

哦,天哪。我正在创建符号键的哈希,我想用字符串数组对其进行排序。似乎我的Python背景在这里欺骗了我。


1
投票

您无需对任何内容进行排序,也无需创建查找表。您的数组已经按照所需的方式进行了排序,并且sort_me哈希已经是一个查询表:


0
投票
您无需对任何内容进行排序,也无需创建查找表。您的数组已经按照您想要的方式进行了排序,并且sort_me哈希已经是一个查询表:
© www.soinside.com 2019 - 2024. All rights reserved.