将n个元素追加到数组中

时间:2012-05-13 15:46:06

标签: ruby arrays

我有一个数组和一个哈希

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

所以我将遍历键以获得元素出现的次数并将该元素追加到数组n次

结果

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

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

2 个答案:

答案 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