我有一个数组和一个哈希
L = [] H = {3=>"a", 2=>"b", 1=>"c"}
所以我将遍历键以获得元素出现的次数并将该元素追加到数组n次
结果
L = ['a', 'a', 'a', 'b', 'b', 'c']
使用inject(或者我经常在ruby代码中看到的其他方法)编写这个文件的好方法是什么?
答案 0 :(得分:17)
array = hash.flat_map { |k,v| [v]*k }
答案 1 :(得分: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