I have an array of integers :
“5 0 11 2 7”
how can I remove “11” so I can get the array:
“5 0 2 7”
Thanks!
vex array remove specific element
11903 6 2- Ishan
- Member
- 28 posts
- Joined: Oct. 2013
- Offline
- animatrix_
- Member
- 4703 posts
- Joined: Feb. 2012
- Offline
Create a new array, and add every element in your original array except the element you want to remove.
Unfortunately array functionality is pretty limited. If it was the last element, you could use the pop method.
Unfortunately array functionality is pretty limited. If it was the last element, you could use the pop method.
Senior FX TD @ Industrial Light & Magic
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
youtube.com/@pragmaticvfx | patreon.com/animatrix | pragmaticvfx.gumroad.com
Get to the NEXT level in Houdini & VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
youtube.com/@pragmaticvfx | patreon.com/animatrix | pragmaticvfx.gumroad.com
- Ishan
- Member
- 28 posts
- Joined: Oct. 2013
- Offline
- pgrochola
- Member
- 36 posts
- Joined: Feb. 2009
- Offline
for example:
void removeFromArray(int inputArray; int newArray; int removalItem)
{
//loop through all elements of array
int alength = len(inputArray);
int counter = 0;
for(int i=0; i<alength; i++)
{
//if it doesnt match removalItem add it to newArray
if(inputArray!=removalItem)
{
newArray= inputArray;
counter++;
}
}
}
int a = {1,2,3};
i@bob;
removeFromArray(a, @bob, 3);
void removeFromArray(int inputArray; int newArray; int removalItem)
{
//loop through all elements of array
int alength = len(inputArray);
int counter = 0;
for(int i=0; i<alength; i++)
{
//if it doesnt match removalItem add it to newArray
if(inputArray!=removalItem)
{
newArray= inputArray;
counter++;
}
}
}
int a = {1,2,3};
i@bob;
removeFromArray(a, @bob, 3);
- ChargingImage
- Member
- 4 posts
- Joined: June 2016
- Offline
how about this?
https://www.sidefx.com/docs/houdini16.0/vex/functions/removeindex [www.sidefx.com]
and kind of how to use it?
https://www.sidefx.com/docs/houdini16.0/vex/functions/removeindex [www.sidefx.com]
void removeindex(arraytype &array; const int index)
and kind of how to use it?
- BabaJ
- Member
- 2128 posts
- Joined: Sept. 2015
- Offline
Put the following code in a point wrangle(Detail once only mode) and look at the Geometry spreadsheet with Detail tab selected to see the results.
The first argument is the array you want to remove an element from.
The second argument is the index to the element you want to remove.
If the second argument is positive is starts to count from the left of the array and moves to the right.(Starting the count with 0).
In this case if you uncomment the first function the number ‘3’ will be removed from the array.
If the second argument is negative the counting moves from the right of the array to the left of the array.
However, keep in mind as with the second function whos seconde argument is -2. That the first index of 0 is still the number ‘8’ in the case of this array.
Think of the array as a number line with the first element being indexed as 0 ( in this case that is the number 8).
So if the second argument is positive the counting goes right. If negative the counting goes left. But in this case going left, there is nothing there, so it wraps around and continues conting from the end - continuing going left.
If the second argument - positive or negative, is more than the length of the array - no changes are made to the array.
So if the second function is uncommented (and the first commented out), the number ‘9’ will be removed from the array.
The first argument is the array you want to remove an element from.
The second argument is the index to the element you want to remove.
If the second argument is positive is starts to count from the left of the array and moves to the right.(Starting the count with 0).
In this case if you uncomment the first function the number ‘3’ will be removed from the array.
If the second argument is negative the counting moves from the right of the array to the left of the array.
However, keep in mind as with the second function whos seconde argument is -2. That the first index of 0 is still the number ‘8’ in the case of this array.
Think of the array as a number line with the first element being indexed as 0 ( in this case that is the number 8).
So if the second argument is positive the counting goes right. If negative the counting goes left. But in this case going left, there is nothing there, so it wraps around and continues conting from the end - continuing going left.
If the second argument - positive or negative, is more than the length of the array - no changes are made to the array.
So if the second function is uncommented (and the first commented out), the number ‘9’ will be removed from the array.
int @My_Array[];
@My_Array = {8,6,3,1,6,5,9,7};
//removeindex(@My_Array, 2);
//removeindex(@My_Array, -2);
- FJSam
- Member
- 18 posts
- Joined: Aug. 2018
- Offline
-
- Quick Links