本文简要介绍ruby语言中 Hash.flatten
的用法。
用法
flatten → new_array
flatten(level) → new_array
返回一个新的 Array 对象,它是 self
的一维展平。
默认情况下,嵌套数组不会展平:
h = {foo: 0, bar: [:bat, 3], baz: 2}
h.flatten # => [:foo, 0, :bar, [:bat, 3], :baz, 2]
从整数参数 level
获取递归展平的深度:
h = {foo: 0, bar: [:bat, [:baz, [:bat, ]]]}
h.flatten(1) # => [:foo, 0, :bar, [:bat, [:baz, [:bat]]]]
h.flatten(2) # => [:foo, 0, :bar, :bat, [:baz, [:bat]]]
h.flatten(3) # => [:foo, 0, :bar, :bat, :baz, [:bat]]
h.flatten(4) # => [:foo, 0, :bar, :bat, :baz, :bat]
当level
为负数时,展平所有嵌套数组:
h = {foo: 0, bar: [:bat, [:baz, [:bat, ]]]}
h.flatten(-1) # => [:foo, 0, :bar, :bat, :baz, :bat]
h.flatten(-2) # => [:foo, 0, :bar, :bat, :baz, :bat]
当 level
为零时,返回等效于 to_a
:
h = {foo: 0, bar: [:bat, 3], baz: 2}
h.flatten(0) # => [[:foo, 0], [:bar, [:bat, 3]], [:baz, 2]]
h.flatten(0) == h.to_a # => true
相关用法
- Ruby Hash.flatten用法及代码示例
- Ruby Hash.fetch_values()用法及代码示例
- Ruby Hash.fetch()用法及代码示例
- Ruby Hash.fetch_values用法及代码示例
- Ruby Hash.fetch用法及代码示例
- Ruby Hash.filter用法及代码示例
- Ruby Hash.filter!用法及代码示例
- Ruby Hash.reject用法及代码示例
- Ruby Hash.delete()用法及代码示例
- Ruby Hash.new用法及代码示例
- Ruby Hash.size用法及代码示例
- Ruby Hash.delete用法及代码示例
- Ruby Hash.hash <=用法及代码示例
- Ruby Hash.select!用法及代码示例
- Ruby Hash.ruby2_keywords_hash用法及代码示例
- Ruby Hash.rassoc(obj)用法及代码示例
- Ruby Hash.to_s用法及代码示例
- Ruby Hash.values_at()用法及代码示例
- Ruby Hash.select用法及代码示例
- Ruby Hash.initialize_copy用法及代码示例
- Ruby Hash.replace用法及代码示例
- Ruby Hash.merge!用法及代码示例
- Ruby Hash.delete_if用法及代码示例
- Ruby Hash.slice用法及代码示例
- Ruby Hash.hash用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Hash.flatten。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。