文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Range   >   filter(_:)
インスタンスメソッド
filter(_:)
与えられた predicate (述語) を満たすシーケンスの要素を順番に含む配列を返します。
宣言
func filter(_ isIncluded: (Bound) throws -> Bool) rethrows -> [Bound]
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
パラメータ
isIncluded | シーケンスの要素をその引数として取り、返された配列に要素を含めるかどうかを示すブール値を返すクロージャ。 |
戻り値
isIncluded が許される要素の配列。
議論
この例では、filter(_:) は 5 文字より短い名前だけを含めるために使用されます。
let cast = ["Vivien", "Marlon", "Kim", "Karl"]
let shortNames = cast.filter { $0.count < 5 }
print(shortNames)
// Prints "["Kim", "Karl"]"
複雑さ:O(n)、ここで n はシーケンスの長さです。
以下も見よ
要素の選択
func prefix(Int) -> Range<Bound>
コレクションの最初の要素を含む、指定された最大長までの部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func prefix(through: Bound) -> Range<Bound>
コレクションの先頭から指定された位置までの部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func prefix(upTo: Bound) -> Range<Bound>
コレクションの先頭から指定された位置を含まない、そこまでの部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func prefix(while: (Bound) -> Bool) -> Range<Bound>
predicate (述語) が false を返し、残りの要素をスキップするまで、最初の要素を含む部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func suffix(Int) -> Range<Bound>
コレクションの最後の要素を含む、与えられた最大長までの部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。
func suffix(from: Bound) -> Range<Bound>
指定された位置からコレクションの最後までの部分シーケンスを返します。
Bound が Strideable に準拠し、Bound.Stride が SignedInteger に準拠する場合に使用可能です。