😽

二次元配列を同一キーでまとめる

2024/11/14に公開

やりたかったこと

これを↓

[[1, 'aaa'], [2, 'bbb'], [1, 'ccc']]

こうしたかった↓

{1: ['aaa', 'ccc'], 2: ['bbb']}

正解

test = [[1, 'aaa'], [2, 'bbb'], [1, 'ccc']]
test.group_by(&:first).transform_values { |t| t.map(&:last) }
# → {1: ['aaa', 'ccc'], 2: ['bbb']}

やったこと(間違い)

[[1, 'aaa'], [2, 'bbb'], [1, 'ccc']].to_h
# → {1=>"ccc", 2=>"bbb"}

Discussion