インスタンスメソッド


enumerated()


pairs(n, x) のシーケンスを返します。ここで、n はゼロで始まる連続した整数を表し、x はシーケンスの要素を表します。


System Swift iOS 14.0+ iPadOS 14.0+ Mac Catalyst 14.0+

macOS 11.0+ tvOS 14.0+ visionOS 1.0+ watchOS 7.0+

func enumerated() -> EnumeratedSequence<Self>




戻り値


シーケンスを列挙するペアのシーケンス。


議論


以下の例では、文字列 "Swift" の文字を列挙し、各文字を文字列内の位置とともに出力します。


  1. for (n, c) in "Swift".enumerated() {
  2. print("\(n): '\(c)'")
  3. }
  4. // Prints "0: 'S'"
  5. // Prints "1: 'w'"
  6. // Prints "2: 'i'"
  7. // Prints "3: 'f'"
  8. // Prints "4: 't'"

コレクションを列挙する場合、各ペアの整数部分は列挙のカウンターになりますが、必ずしもペアの値のインデックスであるとは限りません。これらのカウンターは、ArrayContiguousArray などのゼロベースの整数インデックスコレクションのインスタンス内でのみインデックスとして使用できます。その他のコレクションの場合、カウンターは範囲外であるか、インデックスとして使用するには間違った型である可能性があります。コレクションの要素をそのインデックスとともに反復処理するには、zip(_:_:) 関数を使用して下さい。


以下の例では、セットのインデックスと要素を反復処理し、5 文字以下の名前のインデックスで構成されるリストを作成します。


  1. let names: Set = ["Sofia", "Camilla", "Martina", "Mateo", "Nicolás"]
  2. var shorterIndices: [Set<String>.Index] = []
  3. for (i, name) in zip(names.indices, names) {
  4. if name.count <= 5 {
  5. shorterIndices.append(i)
  6. }
  7. }

shorterIndices 配列に names セット内の短い名前のインデックスが保持されるようになったので、それらのインデックスを使用してセット内の要素にアクセスできるようになりました。


  1. for i in shorterIndices {
  2. print(names[i])
  3. }
  4. // Prints "Sofia"
  5. // Prints "Mateo"

複雑さ:

O(1)













トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ