我有以下数组:
arr1 = [1, 2, 3, 4]
arr2 = ['a', 'b', 'a', 'c']
我想要以下输出:
{'a' => [1, 3], 'b'=> [2], 'c' => [4]}
在 Ruby 中是否有一种快捷的方法可以做到这一点?目前,我正在使用循环和索引来创建哈希。
最佳答案
假设你的意思是
arr1 = [1, 2, 3, 4]
arr2 = %w[a b a c] # ["a", "b", "a", "d"]
所以你的第二个数组是一个字符串数组而不是变量
您可以使用 group_by和 with_index枚举器指向您的变量索引并使用第二个数组对其进行分组
arr1.group_by.with_index { |_, index| arr2[index] }
关于arrays - 按索引映射两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69997283/