文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Supporting Types   >   UnfoldSequence   >   drop(while:)
インスタンスメソッド
drop(while:)
与えられた predicate (述語) を満たす最初の連続した要素をスキップして、部分シークエンスを返します。
宣言
func drop(while predicate: (Element) throws -> Bool) rethrows -> AnySequence<Element>
パラメータ
predicate | シーケンスの要素をその引数として受け取り、その要素が結果に含まれるかどうかを示すブール値を返すクロージャ。 |
戻り値
predicate (述語) を満たす最初の連続した要素の後に始まる部分シークエンス。
議論
以下の例では、drop(while:) メソッドを使用して、numbers 配列の先頭にある正の数をスキップします。結果は、predicate (述語) を満たさない numbers の最初の要素から始まります。
let numbers = [3, 7, 4, -2, 9, -6, 10, 1]
let startingWithNegative = numbers.drop(while: { $0 > 0 })
// startingWithNegative == [-2, 9, -6, 10, 1]
predicate (述語) がシーケンス内のすべての要素と一致する場合、結果は空のシーケンスになります。
複雑さ:O(k)、ここで k はシーケンスの最初から削除すべき要素の数です。