ActionScript 2.0 :: CS3 Remove Element From Array?
Jun 16, 2009
I have an array used to track shots fired from a cannon, and when they hit the ground they are removed.
I would like to know what is the most efficient way of finding and removing a certain element from an array. I heard that using pop() instead of splice() was faster, is it ?
Also, the big question I have is that the only way I see of actually finding the element in the array is using
Code:
for(i=0;i<array.length;i++){
if(array[i] == movieClipToRemove){
//i == movieClip index in the array
}
}
Then I would use either splice() or pop() to remove it from the array before deleting the MC. Is there a better way than scanning through the whole array comparing each element to the triggering MC ?
I have an array of objects. Each object has a property called name. I want to efficiently remove an object with a particular name from the array. Is this the BEST way?
private function RemoveSpoke(Name:String):void { var Temp:Array=new Array; for each (var S:Object in Spokes) {
i have items drawn my stage dynamically and information regarding them in arrays.when i remove an item from the display list:Code:a.target.graphics.clear(); then use the spliceď and index of method to locate chosen MC remove their values from specific array :Code:mcName.splice(mcName.indexOf(+mcRef.boxCount),1);Now when i remove any item which isnt the lastitem of the array, then trace all the data of the array using a loop the values appear to have corrupt? like they have lost the order in the array since one was removed?
Using a for-loop I made a grid of movieclips. But I wanted it so every second row had one less than the one above it. I thought I had that sorted when I placed an if statement in the method. However, flash still "sees" the missing movieclip. I've tried to splice the array element from it, but instead of removing it, it seems to have copied it.
How can i remove the element from array in actionscript? i have this array: myArray = new Array ("1","2", "3", "4", "5"); i want to remove the element "3" when i press button.
I am trying to remove an element from an array by using splice like:
Code: myArray[1].splice(2,1);
This works & finds the element I am looking for but it doesn't really remove the element but it will just insert a blank object instead. Am I doing something wrong here. How would I "really" remove the element, meaning that the Array would become shorter?
Of course the remove function is my pb, not done yet. How can I remove the same object from the array, knowing that the array can contain several times the same object, so I do not want to delete it many times but just the good one? So the trick is to remove only the object associated with the johndoe button. Maybe the pb comes from the way I push the elements?
Is it possible to, if you have an array of class names like ActionScript Code: var city01names:Array = ["pic_01", "pic_02", "pic_03" ...] make a new array which would read these names, instantiate them, and push them into a new array containing the instances of all these pictures, which I could then use for a slideshow?
I have an array called dropTarg1 which stores dropped-in items.I want to loop through this array and in a textfield, display each array item on a new line of this text fieldI think I need to use something like Array.join("/n") but I can't get it working properly. I hope that the /n would create a new line of the text field called reviewBoxContentText.
I have 4 buttons and an empty array. When a button is clicked,I'm adding a element to an array with array.push. However, I want to check the array 1st to see if that element exists. If so, then don't add it. Here's what I have thus far
[Code]...
Now I'm taking it I'd have a conditional statement to see if the element already exists. Unfortunatly I cannot just disable the button. I searched the AS dictionary but oddly enough it doesn't have an easy way to search an array. And IndexOf seems to only work for a string.
I am wondering how to remove a specific element from a vector.[code]...
So from the code example above I was using Element.pop() but thats wrong -I think -as it removes the LAST element. I need to remove the element at the location of the match.
I want another array which takes the values of the price from the 1st Array. Can we do something like this? private var another_price_array:Array = [all_array.price]; This second array will be used to populate a ComboBox, or can I populate the combo directly from the first array itself?
i need to split a large text file into an array at line breaks so one array element = one line.i have tried the using "" in both match() and in RegExp but it doesnt work.i had the g and m flags on. tried the $ sign too.
I know how to get one element from the array. But I don't know let's say how to take 3 elements ( position 0,1,2). I don't know how to trace all the three together. I am getting errors all the time.
var myArray:Array = [1,2,3,4,5]; trace(myArray[0]); trace(myArray[0], ?,?);
public var dataAL:Array=[ {Kiv:"cash", jan:26,janTarget:28,feb:27,febTarget:26,mar:30,marTarget:32,apr:31,aprTarget:32,may:28,mayTarget:29,jun:46,junTarget:32,jul:37,julTarget:39,aug:40,augTarget:42,sep:41,sepTarget:42,oct:48,octTarget:49,nov:40,novTarget:41,dec:38,decTarget:40},
[code]....
Now if i want to access febTarget for cash how will i do it?
I'm trying to make a memory like game. It might be called Simon or Simple Simon or something. Basically something is shown for a second and then gone, then the user clicks that something. Then two or three things are shown in order and then gone and the user clicks the order.
I'm stuck at the very beginning, just showing something from an array for half a second or so then stopping and then starting over and adding one more element.
This is for a small RTS prototype I'm working on for some fun, but I've hit a snag.
For examples sake, I've got two arrays, activeAgents and houseArray. A number of movieclips (player controled units/agents) are stored in activeAgents and houseArray is used to store any agent that is "inside" the house.
If an agent in activeAgents hitTests the house that houseArray belongs to and the agent ISN'T already in the houseArray, then I want to add the agent from activeAgents INTO the houseArray.[code]...
I've got an array containing various sprites... I'm wanting to reference the sprite I want by its name rather than its index in the array, and was wondering if theres a simple way of doing this? I know I could do a for loop through all the array elements and see which one has a name that is equal to the name im looking for, but is something along the lines of myArray[elementName] possible?
I am trying to provide a "URL" to the "Loader" from an array element, if I trace the element I get the URL name within "",but when I run the loader I get "URL not Found". If I declare a variable=ArrayElement I get null or undefined. The array has been populated from a simple XML file.
I'm trying to retrieve the value of an array element in a trace statement...how do I go about this? I've had a look through the AS reference manual but can't work out what should follow the dot '.'?
ActionScript Code: trace(currentBall.name + " is in " + zone[i]./* something here to retrieve array element value */);
pretty much just saying there is 10 elements in it. I define each function as "land", for example. Then in the same function I redefine a random element as "water".
(It is a bit more complex, this is simplified!)
Upon executing this I get the error:
ActionScript Code: TypeError: Error #1010: A term is undefined and has no properties.
if I put the second bit in a new function (the random water part), there is no problems and it executes perfectly. Obviously I cant define an element twice in the same function.