h = {1=>[1,2,3], 2=>[4,5,6]} new_arr = [] h.each_value {|arr| new_arr.concat(arr) }
这样可行,但是更像红宝石的方式呢?
所有值都是数组,但不应修改每个数组的元素。
答案 0 :(得分:10)
这是怎么回事?
h.values.flatten
答案 1 :(得分:4)
您可以使用reduce:
h.values.reduce(&:+)
答案 2 :(得分:1)
略显神秘
h.flat_map(&:last)
稍微冗长
h.flat_map{|_, value| value}
答案 3 :(得分:0)
如果要获取哈希值数组,请使用哈希#值。
new_arr = h.values