Skip to content
instance method

Enumerable#flat_map

[U] () { (Elem) -> (::Array[U] | U) } -> ::Array[U]
() -> ::Enumerator[Elem, ::Array[untyped]]
flat_map {|element| ... } → array
flat_map → enumerator

Returns an array of flattened objects returned by the block.

With a block given, calls the block with successive elements; returns a flattened array of objects returned by the block:

Example
[0, 1, 2, 3].flat_map {|element| -element }                    # => [0, -1, -2, -3]
[0, 1, 2, 3].flat_map {|element| [element, -element] }         # => [0, 0, 1, -1, 2, -2, 3, -3]
[[0, 1], [2, 3]].flat_map {|e| e + [100] }                     # => [0, 1, 100, 2, 3, 100]
{foo: 0, bar: 1, baz: 2}.flat_map {|key, value| [key, value] } # => [:foo, 0, :bar, 1, :baz, 2]

With no block given, returns an Enumerator.

Alias: collect_concat.

See also #first #grep #find_index #grep_v also in 4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0