文書  >   Swift   >   Swift 標準ライブラリ   >   Collections   >   KeyValuePairs   >   index(_:offsetBy:limitedBy:)
インスタンスメソッド
index(_:offsetBy:limitedBy:)
与えられた制限インデックスを距離が超えない限り、与えられたインデックスから指定された距離にあるインデックスを返します。
宣言
パラメータ
i | コレクションの有効なインデックス。 |
distance | i をオフセットする距離。 |
limit | 制限として使用するコレクションの有効なインデックス。distance > 0 の場合、limit が何らかの効果を持つには i より大きくする必要があります。同様に、distance < 0 の場合、何らかの効果を持つには limit を i より小さくする必要があります。 |
戻り値
インデックスが移動方向に limit を超えない限り、インデックス i からの distance によるインデックスのオフセット。その場合、メソッドは nil を返します。
議論
以下の例では、配列の開始インデックスから 4 つ進んだインデックスを取得し、その位置に要素を出力します。操作は、numbers.endIndex の制限値を超える必要がないため、成功します。
let numbers = [10, 20, 30, 40, 50]
let i = numbers.index(numbers.startIndex, offsetBy: 4)
print(numbers[i])
// Prints "50"
次の例では、numbers.startIndex から 10 個位置にあるインデックスを取得しようとしますが、その距離は limit として渡されたインデックスを超えているため失敗します。
let j = numbers.index(numbers.startIndex,
offsetBy: 10,
limitedBy: numbers.endIndex)
print(j)
// Prints "nil"
distance として渡された値は、limit として渡されたインデックスがそれらの境界を超えてオフセットすることを妨げない限り、コレクションの境界を超えて i をオフセットしてはなりません。
複雑さ:O(1)
トップへ(Swift 標準ライブラリ)
トップへ(Swift 標準ライブラリ)
トップへ(Swift 標準ライブラリ)
トップへ(Swift 標準ライブラリ)
トップへ(Swift 標準ライブラリ)
トップへ(Swift 標準ライブラリ)