當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。