當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Swift String.UnicodeScalarView compactMap(_:)用法及代碼示例


實例方法

compactMap(_:)

返回一個數組,其中包含使用此序列的每個元素調用給定轉換的非 nil 結果。

聲明

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

返回值

使用序列的每個元素調用 transform 的非 nil 結果數組。

參數

transform

一個閉包,它接受這個序列的一個元素作為它的參數並返回一個可選值。

詳述

當您的轉換產生可選值時,使用此方法接收一組非可選值。

在此示例中,請注意將mapcompactMap 與返回可選Int 值的轉換一起使用的結果不同。


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]

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相關用法


注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 String.UnicodeScalarView compactMap(_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。