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]