Instance Method インスタンスメソッド

removeAll(where:)

Removes all the elements that satisfy the given predicate. 与えられた述部を満たす要素すべてを除去します。

Declaration 宣言

mutating func removeAll(where shouldBeRemoved: (String.UnicodeScalarView.Element) throws -> Bool) rethrows

Parameters パラメータ

shouldBeRemoved

A closure that takes an element of the sequence as its argument and returns a Boolean value indicating whether the element should be removed from the collection. あるクロージャ、それはシーケンスの1つの要素をそれの引数として取り、その要素がコレクションから除去されるべきかどうかを指し示しているブール値を返します。

Discussion 解説

Use this method to remove every element in a collection that meets particular criteria. The order of the remaining elements is preserved. This example removes all the vowels from a string: このメソッドを使って、コレクションの中の、特定の基準に合うすべての要素を除去してください。残っている要素の順番は保全されます。この例は、全ての母音を文字列から除去します:


var phrase = "The rain in Spain stays mainly in the plain."


let vowels: Set<Character> = ["a", "e", "i", "o", "u"]
phrase.removeAll(where: { vowels.contains($0) })
// phrase == "Th rn n Spn stys mnly n th pln."

Complexity: O(n), where n is the length of the collection. 計算量:O(n)、ここでnはコレクションの長さです。