mah*_*ich 0 ruby arrays ruby-on-rails hashmap
我有以下数组:
[{:a => 'b', :b => ['z', 'a', ...]}, ..., {:a => 'z', :b => ['t', 'r', ...]}]
Run Code Online (Sandbox Code Playgroud)
我想获得一个所有数组值的合并数组,对应于这样的键:b:
['z', 'a', 't', 'r', ... ]
Run Code Online (Sandbox Code Playgroud)
(:b不会有任何重复)
我试过了reduce(&:deep_merge),但它似乎没有做我想要的.Rails'魔术'的答案将是首选,但香草Ruby也会很棒并且受到赞赏.
试试flat_map.
x = [{:a => 'b', :b => ['z', 'a']}, {:a => 'z', :b => ['t', 'r']}]
x.flat_map { |e| e[:b] }
#=> ["z", "a", "t", "r"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |