Skip to content
instance method

Enumerable#filter_map

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

Returns an array containing truthy elements returned by the block.

With a block given, calls the block with successive elements; returns an array containing each truthy value returned by the block:

Example
(0..9).filter_map {|i| i * 2 if i.even? }                              # => [0, 4, 8, 12, 16]
{foo: 0, bar: 1, baz: 2}.filter_map {|key, value| key if value.even? } # => [:foo, :baz]

When no block given, returns an Enumerator.

See also #filter #find #entries #find_all also in 4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0