- Home /
Removing an index in an array only with its value
Hey people.
So I have an array, cosisting of 25 numbers, called "numbers". I'm selecting a random of these numbers by doing so: randomNum1 = Random.Range(numbers[0],numbers[24]);
Now, the problem is that I want the index of the chosen number to be removed so that it can't be chosen again. How do I find out that index the chosen number is at? Because when I know that, I can use numbers.RemoveAt(x);
Thanks in advance, pr0te
Answer by Jessy · Feb 21, 2012 at 06:33 PM
You're not going about this right; the result of the random function should be an index, not a value in the array. Do not use a Unity Array (ArrayList):
import System.Collections.Generic;
var numbers : List.<int>;
var random = new System.Random();
var randomIndex = random.Next(numbers.Count);
var randomNumber = numbers[randomIndex];
numbers.RemoveAt(randomIndex);
Answer by pr0te · Feb 21, 2012 at 10:21 PM
But wouldn't that only leave me with a random index? The array has 25 float numbers. 1.1,1.2,1.3 ...... 5.5. And I need those to determine a place in my grid for 4 objects. I need both the value and the index in order to remove that index from the array. Or am I totally wrong here?
Your answer
![](https://koobas.hobune.stream/wayback/20220613064322im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Swapping elements of an array 1 Answer
Convert 1D array to 2D array 2 Answers
IndexOutOfRangeException: Array index is out of range. 0 Answers
Adding a texture to array textures?! 1 Answer
The index value is not starting from 0 0 Answers