Buenas:
¿Cual es el método para "vaciar" un array de datos en AS3?
Necesito inicializar unos arrays que ya uso en el código y dejarlos como arrays, pero vacíos.
Muchas gracias...
| |||
Inicializar array. "Vaciarlo" Buenas: ¿Cual es el método para "vaciar" un array de datos en AS3? Necesito inicializar unos arrays que ya uso en el código y dejarlos como arrays, pero vacíos. Muchas gracias... |
| |||
Respuesta: Inicializar array. "Vaciarlo" Muchas Gracias UNDESS. El problema que tengo, es que los arrays los declaro como Public, ya que los uso en diferentes funciones. ¿Como puedo hacer para inicializarlos en cada ejecución? Todo el código se ejecuta al pulsar un botón, pero mis arrays los declaro fuera de ese botón...creo que me estoy haciendo un lío.... |
| ||||
Respuesta: Inicializar array. "Vaciarlo" Hola, si cada vez que pulses el boton quieres limpiar el array, la manera es la misma. Aqui te pongo el código de una clase que crea el array, le asigna los datos y que llama a un boton que al pulsarlo limpia el array y nos lo muestra.
Código:
Ya comentas si te sirve. Un saludo. package { import flash.display.Sprite import flash.events.MouseEvent public class ClearArray extends Sprite { public var _myArray:Array = new Array(); public function ClearArray() { _myArray = ["valor 1", "valor 2", "valor 3", "valor 4"] trace("Array recien cargado: "+_myArray); this["btn"].addEventListener(MouseEvent.CLICK, clearArray); } private function clearArray(e:MouseEvent):void { _myArray = new Array() trace("Array recien reiniciado: "+_myArray); } } } |
| |||
Respuesta: Inicializar array. "Vaciarlo" Hola de nuevo: A ver UNDESS, algo debo estar haciendo mal, porque no logro que los arrays se me pongan a 0. Lo he hecho igual que en tu ejemplo. Primero, como variables publicas,declaro los diferentes arrayCollections que voy a usar por todo el código. var horas:ArrayCollection = new ArrayCollection(); var horas2:ArrayCollection = new ArrayCollection(); var horas3:ArrayCollection= new ArrayCollection (); var horas4:ArrayCollection = new ArrayCollection(); var horas5:ArrayCollection = new ArrayCollection(); Luego en el botón tengo asignadas varias funciones, pero la primera, se llama borrar y es esta: private function borra():void{ var horas:ArrayCollection = new ArrayCollection(); var horas2:ArrayCollection = new ArrayCollection(); var horas3:ArrayCollection= new ArrayCollection (); var horas4:ArrayCollection = new ArrayCollection(); var horas5:ArrayCollection = new ArrayCollection(); } Lo que pasa es que en la primera ejecución (clic al botón) los arrays se me cargan da datos (hasta ahí bien) pero la segunda vez (otro click al boton), entra bien en la funcion "borra", pero los arrays siguen con los datos, por lo que termina con el doble de valores... ¿Que estoy haciendo mal? Muchas gracias de nuevo y perdona las molestias. |
| |||
Respuesta: Inicializar array. "Vaciarlo" Bueno, creo que he dado con la solución, por lo menos para mi caso particular. He descubierto el modificador removeAll(); para los arrays, por lo que los vacio en cada ejecución y consigo lo que quería. Mi función "borrar" quedaría así: private function borra():void{ horas.removeAll(); horas2.removeAll(); horas3.removeAll(); horas4.removeAll(); horas5.removeAll(); } Un milón de gracias... |
| ||||
Respuesta: Inicializar array. "Vaciarlo" Tambien podia pasar que en la funcion borrar no apuntabas a los arrays que te habías creado si no que creabas otros dentro de la funcion borrar ya que los declarabas con var. seria: private function borra():void{ horas = new ArrayCollection(); horas2 = new ArrayCollection(); horas3 = new ArrayCollection (); horas4 = new ArrayCollection(); horas5 = new ArrayCollection(); } te lo digo para futuros trabajos por si te interesaba. Un saludo |