😽
二次元配列を同一キーでまとめる
やりたかったこと
これを↓
[[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