繰り返し処理する配列をシャッフルする代わりに、シャッフルした「インデックス配列」を作成することで、繰り返し処理する配列の順番を指定することができる。インデックス配列を順番に反復処理することは、入力配列をランダムに反復処理することと同じである。

入力配列を `input_array` としよう。上記のコードを使って `index_array` を生成することができる。そして、`input_array[index_array[i]]`（`i`はループ変数）にアクセスすることで、入力配列をランダムに繰り返し処理することができる。
Instead of shuffling the array you want to iterate through, you can create a shuffled "index array" stating the order of original array you are going to iterate through. Iterating through the index array in order is equivalent to iterating the input array randomly.

Let's say your input array is `input_array`. You can use the above code to generate `index_array`. Then you can iterate input array randomly by accessing `input_array[index_array[i]]`, where `i` is the loop variable.