文書   >   Foundation   >   Collections   >   Set   >   compactMap(_:)


汎用インスタンスメソッド


compactMap(_:)


このシーケンスの各要素を使用して、与えられた変換を呼び出した結果の nil 以外の結果を含む配列を返します。





宣言


func compactMap<ElementOfResult>(_ transform: (Element) throws -> ElementOfResult?) rethrows -> [ElementOfResult]


パラメータ


transformこのシーケンスの要素をその引数として受け入れ、optional の値を返すクロージャ。


戻り値


シーケンスの各要素に対して transform を呼び出した結果の、nil 以外の結果の配列。


議論


変換で optional の値が生成されたときに、このメソッドを使用して optional ではない値の配列を受け取ります。


この例では、optional の Int 値を返す変換で mapcompactMap を使用した結果の違いに注意してください。


let possibleNumbers = ["1", "2", "three", "///4///", "5"]

let mapped: [Int?] = possibleNumbers.map { str in Int(str) }
// [1, 2, nil, nil, 5]

let compactMapped: [Int] = possibleNumbers.compactMap { str in Int(str) }
// [1, 2, 5]


複雑さ:O(m+n)、ここで n はこのシーケンスの長さであり、m は結果の長さです。



以下も見よ





Set の変形

















トップへ












トップへ












トップへ












トップへ












トップへ
目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 9.3+
  • Framework
  • Swift 標準ライブラリ
  • 宣言
  • パラメータ
  • 戻り値
  • 議論
  • 以下も見よ












  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ