Felix D.: "flexible" variable definieren

Hallo,

Ich möchte eine variable definieren, die die Länge eines Arrays (zb. testarray.length) darstellt.
Diese soll den Wert nicht einfach auslesen, sondern daran gebunden sein , also sich auch ändern, wenn sich testarray.length ändert.

Kann mir jemand helfen?

MfG
Felix

  1. Hallo Felix,

    Ich möchte eine variable definieren, die die Länge eines Arrays (zb. testarray.length) darstellt.
    Diese soll den Wert nicht einfach auslesen, sondern daran gebunden sein , also sich auch ändern, wenn sich testarray.length ändert.

    Vier Räder hast Du, warum willst Du jetzt ein fünftes? Nimm doch einfach testarray.length. Es erfüllt doch schon Deinen Anspruch und ist zum Zeitpunkt des aufrufs immer aktuell.

    Oder anders; erkläre doch bitte etwas genauer, warum es Dir so nicht ausreichend ist!

    Gruß aus Berlin!
    eddi

    1. Oder anders; erkläre doch bitte etwas genauer, warum es Dir so nicht

      es geht nur darum, das diese variable sehr oft im quellcode vorkommt und ich gerne eine kürzere nehmen würde (1 bis 2 buchstaben)

      es ist ein verschachteltes array:

      testarray = new Array();
      testarray[testarray.length] = new Array();
      testarray[testarray.length-1][0] = 'irgendwas';
      testarray[testarray.length-1][1] = 'irgendwas';
      testarray[testarray.length-1][2] = 'irgendwas';

      testarray[testarray.length] = new Array();
      testarray[testarray.length-1][0] = 'irgendwas';
      testarray[testarray.length-1][1] = 'irgendwas';
      testarray[testarray.length-1][2] = 'irgendwas';

      usw.

      ich will den index deswegen nicht direkt eintragen, das ich an jeder stelle ein unterarray einfügen kann, ohne alle indexzahlen zu ändern.

      1. es ist ein verschachteltes array:

        testarray = new Array();
        testarray[testarray.length] = new Array();
        testarray[testarray.length-1][0] = 'irgendwas';
        testarray[testarray.length-1][1] = 'irgendwas';
        testarray[testarray.length-1][2] = 'irgendwas';

        testarray[testarray.length] = new Array();
        testarray[testarray.length-1][0] = 'irgendwas';
        testarray[testarray.length-1][1] = 'irgendwas';
        testarray[testarray.length-1][2] = 'irgendwas';

        usw.

        ich will den index deswegen nicht direkt eintragen, das ich an jeder stelle ein unterarray einfügen kann, ohne alle indexzahlen zu ändern.

        Mit Netscape und Mozilla geht es  - musst mal nach watch suchen - aber ich würde eine Funktion schreiben, die das automatisch macht.

        Struppi.

    2. ich dachte an sowas wie in php:
      $bar = &$foo;

      jetzt ändert sich auch $bar, wenn sich $foo ändert.

      1. Hallo Felix,

        ich dachte an sowas wie in php:
        $bar = &$foo;

        jetzt ändert sich auch $bar, wenn sich $foo ändert.

        das ist der Effekt den Du beobachtest, aber in Wahrheit ändert sich $bar nämlich mal gerade überhaupt gar niemals nicht. Du hast in $bar eine Referenz (Zeiger, Pointer, ...) auf die andere Variable $foo drinne, aber nicht den Inhalt von $foo. Ob Javascript jetzt mit Referenzen (Zeigern, Pointern, ...) kann, weiß ich nicht. Vielleicht war dieses meine Posting aber dahingehend nützlich, dass ich Dich in die richtige Richtung referenziere (zeige, pointe ...)

        Schöne Restweihnacht zusammen,
        Holger