tma*_*314 1 ruby ruby-on-rails
寻找一种方法来将嵌套的数组列表减少为一个唯一的项目数组,并删除任何空数组.
希望减少这个数组:
[[2700, 177, 2092, 176, 188], [123, 1234], []]
Run Code Online (Sandbox Code Playgroud)
下到这个新阵列:
[2700, 177, 2092, 176, 188, 123, 1234]
Run Code Online (Sandbox Code Playgroud)
已经尝试过array.uniq.compact,但没有奏效.
谢谢你的任何建议.
您需要先将阵列展平.
array.flatten.uniq
Run Code Online (Sandbox Code Playgroud)
几点说明:
Array#flatten将所有子数组合并到顶级数组中.由于空数组不包含任何元素,因此将自动删除它们.Array#compact返回一个nil删除了元素的新数组.Array#uniq 返回仅包含唯一元素的新数组.