Basically I pick a random number between 0-24:
Math.floor(Math.random() * myArray.length); // myArray contains 25 items
Lets say it comes out to be 8. Now I want to get another number in the same range 0-24 but this time, I do not want an 8. The next time, I might roll a 15. Now I want to roll again but I don’t want an 8 or 15. The way I am handling this now is by using do while loops and if the number comes out the same, I just reroll.
This is a small portion of my homework and I, in fact, have it working to meet all the requirements so I guess you could say this is for my own personal benefit so I can write this properly and not end up on “the daily wtf”.
Set an array with all the values (this is only a valid option if you’re only doing small numbers, like the 25 in your example), like this:
then, pick a random number between 0 and the array length:
remove that index number from the array:
Javascript splice() removes indexed items from an array and returns the item(s) as an array. Perfect for your use.
Grab the first index from the roll, since we only cut 1 out anyway:
Keep doing for as many rolls as you want. Also, you might want to store the original array as a copy so that you can “reset” the numbers easily.