4

我有一个数组和一个哈希

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

因此,我将遍历键以获取元素出现的次数 n 并将该元素附加到数组 n 次

结果

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

用注入(或我经常在 ruby​​ 代码中看到的其他方法)编写此代码的好方法是什么?

4

2 回答 2

17
array = hash.flat_map { |k,v| [v]*k }
于 2012-05-13T15:50:12.143 回答
2

@David 的回答可以满足您的需求。但是,通常,您可以通过以下方式之一将对象o添加到现有数组n次:

# Modify the array in-place, or…
my_array.concat( [o]*n )

# …alternatively create a new modified array
new_array = my_array + [o]*n
于 2012-05-13T18:36:03.427 回答