Michael R.: Array-Modifikation

Hallo und guten Morgen !

ich hab' ein Array wie folgt:

A = new Array();
A[0] = new Array();
A[0][0] = 'test';
A[0][1] = 'test';
A[1] = new Array();
A[1][0] = 'test';
A[1][1] = 'test';
A[2] = new Array();
A[2][0] = 'test';
A[2][1] = 'test';
...

Wie kann ich aus dem Array

1. das erste Element komplett löschen ?

Ich hab's mit A.shift(); versucht aber da wird mir nur A[0] gelöscht und die Unterpunkte (A[0][0] und A[0][1]) rücken einfach nach vorne und A[1] und A[2] ff werden gänzlich gelöscht.

2. ein Element in der Mitte des Arrays ?

Hab's folgender Maßen probiert:
var x = zu löschende Nummer des Array-Elements

if (x > 0){
 for (var i=0; i<x; i++){
  Temp[i] = new Array();
  Temp[i][0] = A[i][0];
  Temp[i][1] = A[i][1];
  }
 for (var i=Temp.length; i<(A.length-1); i++){
  Temp[i] = new Array();
  Temp[i][0] = A[i+1][0];
  Temp[i][1] = A[i+1][1];
  }
 for (var i=0; i<Temp.length; i++){
  A[i] = new Array();
  A[i][0] = Temp[i][0];
  A[i][1] = Temp[i][1];
          }
 }

Ergebnis: Element 3 wird z. B. gelöscht dann wird das letzte Element (sagen wir wenn ich 4 Elemente insgesamt hatte) doppelt aufgeführt.

Thnx für Eure Hilfe und einen schönen Tag !

Michael

  1. Ich bin's nochmal !

    Hallo und guten Morgen !

    ich hab' ein Array wie folgt:

    A = new Array();
    A[0] = new Array();
    A[0][0] = 'test';
    A[0][1] = 'test';
    A[1] = new Array();
    A[1][0] = 'test';
    A[1][1] = 'test';
    A[2] = new Array();
    A[2][0] = 'test';
    A[2][1] = 'test';
    ...

    Wie kann ich aus dem Array

    1. das erste Element komplett löschen ?

    Ich hab's mit A.shift(); versucht aber da wird mir nur A[0] gelöscht und die Unterpunkte (A[0][0] und A[0][1]) rücken einfach nach vorne und A[1] und A[2] ff werden gänzlich gelöscht.

    Hierzu ist mir selber grad was eingefallen:
    wenn ich mache

    if (x == 0){
     A = A.reverse();
     A.length = (A.length-1);
     A = A.reverse();
     }

    dann scheint es richtig zu funktionieren.

    Aber bitte, Vorschläge nehme ich immer noch gerne (vor allem auch für Frag 2) entgegen !

    1. ein Element in der Mitte des Arrays ?

    ...
    Thnx für Eure Hilfe und einen schönen Tag !

    Michael

    1. hi,

      1. ein Element in der Mitte des Arrays ?

      wenn IE5 nicht so blöd waere und splice() koennte waer's suuupersimpel, so ist's nur noch ganz simpel, siehe Anhang. Man uebergebe "killEl" Schluessel und betreffenden Array.

      hth + Gruss  Joachim

      <html>
      <head>

      <script language="javascript1.2">
      var myArr = new Array("nana", "blah", "blub");
      // org Ausgabe
      document.write(myArr.join() + "<br>");

      function killEl(el,arr)
      {
       var temp = new Array();
       for(var i in arr)
       {
        if(i != el) temp[temp.length] = arr[i];
       }
       return temp;
      }

      myArr = killEl(1,myArr);
      // mod Ausgabe
      document.write(myArr.join() + "<br>");

      </script>

      </head>

      <body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
      <div id="ebene0"></div>

      </body>
      </html>