将n个元素追加到数组中

MxL*_*evs 4 ruby arrays

我有一个数组和一个哈希

L = []
H = {3=>"a", 2=>"b", 1=>"c"}

因此,我将迭代键以获得元素出现的次数,并将该元素追加到数组n次

结果

L = ['a', 'a', 'a', 'b', 'b', 'c']

使用inject(或者我经常在ruby代码中看到的其他方法)编写这个的好方法是什么?

Dav*_*son 17

array = hash.flat_map { |k,v| [v]*k }
Run Code Online (Sandbox Code Playgroud)