在红宝石中收集数组的哈希值


h = {1=>[1,2,3], 2=>[4,5,6]}new_arr = []h.each_value {|arr|  new_arr.concat(arr)}

这行得通,但还有什么比红宝石更像的方法呢?

所有值都是数组,但不应修改每个数组的元素。

这是怎么回事?

h.values.flatten

您可以使用 reduce:

h.values.reduce(&:+)

有点神秘

h.flat_map(&:last)

略显啰嗦

h.flat_map{|_, value| value}
如果要

获取哈希值数组,请使用 Hash#values。

new_arr = h.values

最新更新