Return Value 戻り値
The resulting flattened array. 結果として生じる平たくされた配列。
Availability 有効性
Technology
func flatMap<SegmentOfResult>(_ transform: (Self.Element) throws -> SegmentOfResult ) rethrows -> [SegmentOfResult .Element] where SegmentOfResult : Sequence
The resulting flattened array. 結果として生じる平たくされた配列。
transform
A closure that accepts an element of this sequence as its argument and returns a sequence or collection. あるクロージャ、それはこのシーケンスのひとつの要素をそれの引数として受け取って、あるシーケンスまたはコレクションを返すものです。
Use this method to receive a single-level collection when your transformation produces a sequence or collection for each element. あなたの変換が各要素に対してひとつのシーケンスまたはコレクションを生成する場合に、このメソッドを使って単一水準コレクションを受け取ってください。
In this example, note the difference in the result of using map
and flat
with a transformation that returns an array.
この例では、map
とflat
を配列を返すある変換と共に使う結果における差異を注記します。
let numbers = [1, 2, 3, 4]
let mapped = numbers.map { Array(repeating: $0, count: $0) }
// [[1], [2, 2], [3, 3, 3], [4, 4, 4, 4]]
let flatMapped = numbers.flatMap { Array(repeating: $0, count: $0) }
// [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
In fact, s
is equivalent to Array(s
.
Complexity
O(m + n), where n is the length of this sequence and m is the length of the result.