### re: The Holey Array Problem VIEW POST

re: Great one! One quick question: what are the solutions? :-)

The solution is to guard against unbounded inputs when writing to arrays.

You can use `if` statements to check if the value is within bounds, and throw an error otherwise.

Alternatively, a very simple solution is to use the `%` modulo operator to constrain the index like this:

``````array[input % array.length] = value; // will never go out of bounds
``````

With the method above, any out-of-bounds input will be "wrapped around" in the range of 0:N.

For example, if the length of the array is 20 and you supply 10: `10 % 20 = 10`, so nothing really changes when the supplied input is within bounds.

But if you supply an out-of-bounds index, say 25: `25 % 20 = 5`, and it remains within bounds.

It's worthy to note that this approach also guards against negative inputs, because `-25 % 20` equals 15.

Edit: Fixed my numbers. Still waiting on my coffee, sorry.

code of conduct - report abuse