当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Array.flatten用法及代码示例


本文简要介绍ruby语言中 Array.flatten 的用法。

用法

flatten → new_array
flatten(level) → new_array

返回一个新的数组,它是 self 的递归展平:

  • 每个非数组元素不变。

  • 每个 Array 都被其各个元素替换。

使用非负整数参数 level ,通过 level 级别递归展平:

a = [ 0, [ 1, [2, 3], 4 ], 5 ]
a.flatten(0) # => [0, [1, [2, 3], 4], 5]
a = [ 0, [ 1, [2, 3], 4 ], 5 ]
a.flatten(1) # => [0, 1, [2, 3], 4, 5]
a = [ 0, [ 1, [2, 3], 4 ], 5 ]
a.flatten(2) # => [0, 1, 2, 3, 4, 5]
a = [ 0, [ 1, [2, 3], 4 ], 5 ]
a.flatten(3) # => [0, 1, 2, 3, 4, 5]

没有参数、nil 参数或带有负参数 level 的情况下,所有级别都变平:

a = [ 0, [ 1, [2, 3], 4 ], 5 ]
a.flatten # => [0, 1, 2, 3, 4, 5]
[0, 1, 2].flatten # => [0, 1, 2]
a = [ 0, [ 1, [2, 3], 4 ], 5 ]
a.flatten(-1) # => [0, 1, 2, 3, 4, 5]
a = [ 0, [ 1, [2, 3], 4 ], 5 ]
a.flatten(-2) # => [0, 1, 2, 3, 4, 5]
[0, 1, 2].flatten(-1) # => [0, 1, 2]

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Array.flatten。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。