文書   >   Swift   >   Dictionary   >   compactMap(_:)


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


compactMap(_:)


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





宣言


func compactMap<ElementOfResult>(_ transform: ((key: Key, value: Value)) 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 標準ライブラリ

  • 宣言
  • パラメータ
  • 戻り値
  • 議論
  • 以下も見よ












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)