Ruby新的独特嵌套数组项数组

寻找一种方法来将嵌套的数组列表减少为一个唯一的项目数组,并删除任何空数组。

希望减少这个数组:

[[2700, 177, 2092, 176, 188], [123, 1234], []] 

下到这个新arrays:

 [2700, 177, 2092, 176, 188, 123, 1234] 

尝试过array.uniq.compact ,但没有用。

谢谢你的任何建议。

您需要先将arrays展平。

 array.flatten.uniq 

几点说明:

  • Array#flatten将所有子数组合并到顶级数组中。 由于空数组不包含任何元素,因此将自动删除它们。
  • Array#compact返回一个删除了nil元素的新数组。
  • Array#uniq返回一个只包含唯一元素的新数组。

尝试Array#flatten

返回一个新的数组,它是self的一维展平(递归)。

 => [[2700, 177, 2092, 176, 188], [123, 1234], []].flatten #> [2700, 177, 2092, 176, 188, 123, 1234]