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


インスタンスメソッド


compactMap(_:)


このシーケンスの各要素で、指定された変換からの結果で nil でない文字列を含む配列を返します。





宣言


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


パラメータ


transformこのシーケンスの要素をその引数として受け取り、String? を返すクロージャ。


戻り値


シーケンスの各要素で transform を呼び出した結果の nil でない配列。


議論


このメソッドを使用して、変換で String? を生成したときに、optional でない文字列の配列を受け取ることができます。


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


let errorLookup = [400: "Bad request",
                   403: "Forbidden",
                   404: "Not found"]

let errorCodes = [400, 407, 404]

let mapped: [String?] = errorCodes.map { code in errorLookup[code] }
// ["Bad request", nil, "Not found"]

let compactMapped: [String] = errorCodes.compactMap { code in errorLookup[code] }
// ["Bad request", "Not found"]


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





目次
Xcode の新機能

  • 言語:Swift
  • SDK
  • Xcode 9.3+
  • フレームワーク
  • AppKit
  • 宣言
  • パラメータ
  • 戻り値
  • 議論












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












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












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












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












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












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












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












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












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












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












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












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












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












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












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












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












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