文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Range   >   compactMap(_:)


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


compactMap(_:)


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





宣言


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

BoundStrideable に準拠し、Bound.StrideSignedInteger に準拠する場合に使用可能です。


パラメータ


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 は結果の長さです。


以下も見よ





Range の要素を変換





目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 10.0+
  • フレームワーク
  • Swift 標準ライブラリ
  • 宣言
  • パラメータ
  • 戻り値
  • 議論
  • 以下も見よ












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












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












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












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












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












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












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












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












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












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












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












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












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












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












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












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












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