文書   >   Swift   >   Swift 標準ライブラリ  >     手動でメモリ管理   >   UnsafeBufferPointer   >   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 は結果の長さです。


















トップへ












トップへ












トップへ












トップへ












トップへ
目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 9.3+

  • フレームワーク
  • Swift 標準ライブラリ
  • 宣言
  • パラメータ
  • 戻り値
  • 議論












  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ