webForumDet fria alternativet

tömma en array

6 svar · 447 visningar · startad av rille31

rille31Medlem sedan okt. 2004186 inlägg
#1

Laddar in en array som får sitt värde tilldelat från en xmlfil.

Vill tömma den för att ladda in nya värden fån xmlfilen.

Hur går jag tillväga? :r

phredMedlem sedan nov. 2005314 inlägg
#2

delete arrayen;

Ladda in på nytt;

funkar detta månne ?

rille31Medlem sedan okt. 2004186 inlägg
#3

När jag bara tar delete så raderas värdena men längden kvarstår
tex enArray.lenght=10; fast med tomma värden
Ska se om etta funkar

removeIt = function () {
for (var i = 0; i<images.length; i++) {
delete images*;
unloadMovie("_level0.scroller.container.thumb"+i);
}
images.length = 0;
};*

mirandirMedlem sedan maj 2003750 inlägg
#4

Hmm när du deletar en array så borde inte längden finnas kvar. Den borde vara "undefined".

Sedan har ju Array objektet ett antal metoder för att radera enskillda eller serier av element i array:en. Titta på t.ex. Array.splice()

Enklast tror jag ändå är att helt enkelt tilldela en ny array till variabeln "images". Då vet du att du får en "fresh start" på array:en Vill du göra det lite snyggare så radera images först:

removeIt = function () {
    for (var i = 0; i<images.length; i++) {
        unloadMovie("_level0.scroller.container.thumb"+i);
    }
    delete images;
    images = new Array();
};

/Mirandir

rille31Medlem sedan okt. 2004186 inlägg
#5

mirandir skrev:

Hmm när du deletar en array så borde inte längden finnas kvar. Den borde vara "undefined".

Sedan har ju Array objektet ett antal metoder för att radera enskillda eller serier av element i array:en. Titta på t.ex. Array.splice()

Enklast tror jag ändå är att helt enkelt tilldela en ny array till variabeln "images". Då vet du att du får en "fresh start" på array:en Vill du göra det lite snyggare så radera images först:

removeIt = function () {
    for (var i = 0; i<images.length; i++) {
        unloadMovie("_level0.scroller.container.thumb"+i);
    }
    delete images;
    images = new Array();
};

/Mirandir

Det funka bra med båda koderna :)
En följdfråga, får inte removeMovieClip() att funka när jag kör funktionen i loopen dvs container.thumbMC4.removeMovieClip(); funkar men inte container.thumbMC+i.removeMovieClip();
Va har jag gjort för nybörjartabbe :(

BlixtsystemsMedlem sedan maj 2005704 inlägg
#6

För att dynamiskt addressera objekt eller clips som i detta fallet så använder man "array access brackets":

container["thumbMC"+i].removeMovieClip();

rille31Medlem sedan okt. 2004186 inlägg
#7

tack Blixt och Mirandir

129 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)