Sebastian Salzgeber: Array deregistrieren

Hi

Kann man eigentlich ein Array wieder komplett deregistrieren, also auf undefined setzen.
Bisher habe ich nach der benutzung eines Arrays imemrnoch einen leeren Wert oder eine 0 dort stehen, was meine verwaltung aber durcheinander bringt. Es soll quasi so sein als hätte man dieses Array bisher nie benutzt.

ciao

--
<NetPanther> Na, die Stadt ist Developia, die Hauptstadt von Developien!
<NetPanther> Developien ist übrigens ein Entwicklungsland!
<acid`awy> bossi was haste fuern abschluss ?
<[DEF]Bossland> tdsl
http://german-bash.org/action/top/n/50
sh:) fo:| ch:{ rl:( br:& n4:~ ie:| mo:? va:{ de:< zu:| fl:) ss:| ls:< js:|
  1. Kann man eigentlich ein Array wieder komplett deregistrieren, also auf undefined setzen.

    Ich würd mal sagen: myArray = null; oder myArray = undefined;

    Struppi.

  2. Hallo Sebastian,

    Kann man eigentlich ein Array wieder komplett deregistrieren, also auf undefined setzen.
    Bisher habe ich nach der benutzung eines Arrays imemrnoch einen leeren Wert oder eine 0 dort stehen, was meine verwaltung aber durcheinander bringt. Es soll quasi so sein als hätte man dieses Array bisher nie benutzt.

    Ich weiß nicht, ob ich dich richtig verstehe, was heißt "unbenutzt"?

    Vielleicht hilft es dir, wenn du einfach den Konstruktor noch einmal drüber laufen lässt.

      
    deinBestehendesArray = new Array();  
    
    

    Gruß Gernot

  3. Tag Sebastian.

    Kann man eigentlich ein Array wieder komplett deregistrieren, also auf undefined setzen.

    Kommt drauf an, was du erreichen willst. Folgst du Struppis Ansätzen, passiert Folgendes:

    test_array = new Array(1, 2, 3);
    test_array = null;

    Die Variable test_array ist dann vom Typ Objekt, allerdings kein Arrayobjekt mehr. Somit kannst du mit der Variable als Array nichts mehr anfangen, du musst sie über den Konstruktor neu als Array erzeugen.

    test_array = new Array(1, 2, 3);
    test_array = undefined;

    Die Variable test_array ist vom Typ her "undefined", hängt also quasi in der Luft. Du kannst sie ebenfalls als Array nutzen, indem du ein neues Arrayobjekt erzeugst.

    Die Funktion delete übrigens wirkt auf das Objekt selber nicht (siehe Vorbemerkungen), nur auf die einzelnen Elemente.

    Am Ende hängt es also davon ab, was du erreichen willst, evtl. ist die Variante von Gernot die beste, da sie dir ein neues, leeres Array erzeugt.

    Siechfred