ruby将多维数组转换为一个数组

Arc*_*her 1 ruby ruby-on-rails flatten multidimensional-array

我合并了2个列表.

list1 = customer.links.where(ext: true).group(:link_id, :external).limit(100).order('count_id desc').count('id') 
list2 = customer.links.where(ext: false).where.not(url: '/specific_link').group(:url, :ext).limit(100).order('count_id desc').count('id')

list = list1.merge(list2).sort_by{|k, v| -v}
Run Code Online (Sandbox Code Playgroud)

结果是:

[[["/path/element1", false], 7], [[4, true], 5], [["/path/element6", false], 1]]
Run Code Online (Sandbox Code Playgroud)

我想将它转换为on维哈希,如下所示:

[["/path/element1", false, 7], [4, true, 5], ["/path/element6", false, 1]]
Run Code Online (Sandbox Code Playgroud)

当我使用时flatten,阵列之间没有分离.

小智 7

简单易行,可以平放每个子阵列.

output_array=[[["/path/element1", false], 7], [[4, true], 5], [["/path/element6", false], 1]].map{|x| x.flatten}
Run Code Online (Sandbox Code Playgroud)