wo2001: array ändern

nicht schlagen! bitte!!

ich versuche so:

arr_das[i]=arr_das[i-1];

einem array element einen neuen wert zuzuordnen, und im internetexploerer wird der vorher vorhandene wert zu "undefined".

arr_das[0]="test";

funktioniert auch nicht . kann mir jemand helfen? bittebitte..

  1. Hallo,

    nicht schlagen! bitte!!

    Hä?!? ;-)

    ich versuche so:
    arr_das[i]=arr_das[i-1];
    einem array element einen neuen wert zuzuordnen, und im internetexploerer wird der vorher vorhandene wert zu "undefined".

    arr_das[0]="test";
    funktioniert auch nicht . kann mir jemand helfen? bittebitte..

    So wie ich deinen Telegrammstil verstanden habe, willst du einem Arrayelement einen Wert zuweisen und darauf kommt eine Fehlermeldung.
    Wahrscheinlich hast du das Array vorher nicht erzeugt:

    var arr_das = new Array(AnzahlDerElemente);
      arr_das[0] = "test";

    müsste eigentlich klappen. Wenn nicht, dann wäre es praktisch, wenn du uns einen etwas größeren Teil deines Scripts anvertrauen würdest ;-)

    Robert

    1. hi,
      ich dacht halt, ich beschränke mich besser auf das wesentliche, weil alles vorher funktioniert.
      doch, das array ist da und der wert wenn ich beim erzeugen einen zuweise, auch.
      das script schaut so aus:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

      <html>
      <head>
       <title>Untitled</title>
       <script language="javascript">
      arr_das=new Array("1");

      function addarray()
      {

      arr_das[1]="x";
       for(i=1; i<= arr_das.length-1; i++)
       {
        arr_das[i]=arr_das[i-1];//wenn man diese  zeile auskommentiert, gehts
        alert("nach: das["+i+"]="+arr_das[i]);
       }

      }
      </script>

      </head>

      <body>

      <br><a href='javascript:addarray()'>klick!</a>
      </body>
      </html>

      1. Hallo

        Das erste Element eines Array hat die Nr. 0
        Das ist dein Problem.
        arr_das[i]=arr_das[i-1];
        Da wird beim ersten Schleifendurchlauf das element 1 auf element 0 gesetzt. Element 0 ist natürlich undefined.

        Gruß

        Daniel

        1. Hallo

          Das erste Element eines Array hat die Nr. 0
          Das ist dein Problem.
          arr_das[i]=arr_das[i-1];
          Da wird beim ersten Schleifendurchlauf das element 1 auf element 0 gesetzt. Element 0 ist natürlich undefined.

          Gruß

          Daniel

          nope.
          wenn ich das array definiere, wird element 0 zu eins.
          trotzdem thx, das prob war ein anderes:
          sobald ich dasganze "normal" im browser ausführen lasse, gehts doch, nur in der "f12
          "-vorschau im homesite irgendiwe net.
          cu, wo

    2. Hallo Robert,

      pass bitte auf, was Du da vorschlägst:

      var arr_das = new Array(AnzahlDerElemente);

      Das geht nur gut bis Javascript Version 1.1 - ab Version 1.2 erzeugst Du so nämlich ein Array, das EIN Element mit dem Wert AnzahlDerElemente enthält. Ist gemein, ich weiß... bin auch erst kürzlich über diesen Hinterhalt gestolpert...

      Gruß,

      Martin

      1. Hi moin!

        pass bitte auf, was Du da vorschlägst:

        var arr_das = new Array(AnzahlDerElemente);
        Das geht nur gut bis Javascript Version 1.1 - ab Version 1.2 erzeugst Du so nämlich ein Array, das EIN Element mit dem Wert AnzahlDerElemente enthält.

        Zumindest, wenn Du auch JavaScript1.2 im SCRIPT-Tag angegeben hast, sonst naemlich nicht. Behauptet jedenfalls http://developer.netscape.com/docs/manuals/js/client/jsref/array.htm Abschnitt "Backward Compatibility".

        So long