luk: element eines arrays löschen

hallo

zu diesem thema werde ich auf der selfhtml-seite einfach nicht schlau. es gibt zwar eine methode Array.splice(), aber wie die funktioniert finde ich nicht heraus!!
ich würde gerne ein element eines arrays löschen. die indizes sollten bei den "hinteren" elementen wieder stimmen. also z. b.:
bla = new Array("ich","du","er","sie");
(das dritte element löschen)
neuer array ("ich","du","sie") mit gleichem name bla

besten dank im voraus

  1. Hallo

    zu diesem thema werde ich auf der selfhtml-seite einfach nicht schlau. es gibt zwar eine methode Array.splice(), aber wie die funktioniert finde ich nicht heraus!!

    ich hab' da mal nachgeschaut, das mit der Schleife kam mir auch komisch vor.

    ich würde gerne ein element eines arrays löschen. die indizes sollten bei den "hinteren" elementen wieder stimmen. also z. b.:
    bla = new Array("ich","du","er","sie");
    (das dritte element löschen)
    neuer array ("ich","du","sie") mit gleichem name bla

    entweder das dritte wird nur leer, und das vierte ist weiter das vierte

    bla[2]='';

    oder das vierte wird das dritte (bzw. hier "verschiebt" sich das achte):

    <script>
    bla = new Array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14);
    alert(bla);
    function wegmit(die){
    bla1 = bla.slice(0,die);
    bla2 = bla.slice(die+1,bla.length);
    bla= new Array();
    bla=bla.concat(bla1);
    bla=bla.concat(bla2);
    alert(bla);
    }
    </script>
    <a href="javascript:wegmit(7)">achtes raus</a>

  2. hallo

    zu diesem thema werde ich auf der selfhtml-seite einfach nicht schlau. es gibt zwar eine methode Array.splice(), aber wie die funktioniert finde ich nicht heraus!!

    Array.Splice is JavaScript1.2 Also nicht 100% compatible :-)

    ich würde gerne ein element eines arrays löschen. die indizes sollten bei den "hinteren" elementen wieder stimmen

    ich hab mal ein Beispiel für einen Workaround:
    <html><head><title>Test</title>
    <script language="JavaScript">
     Zahlen = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o");
     Zahlen = Zahlen.slice(0,4).concat(Zahlen.slice(8,12))
     alert(Zahlen);
     </script>
    </head><body>
    </body></html>

    bla = new Array("ich","du","er","sie");
    (das dritte element löschen)
    neuer array ("ich","du","sie") mit gleichem name bla

    <html><head><title>Test</title>
    <script language="JavaScript">
     Zahlen = new Array("ich","du","er","sie");
     Zahlen = Zahlen.slice(0,2).concat(Zahlen.slice(3,4));
     alert(Zahlen);
     </script>
    </head><body>
    </body></html>

    würde das in deinem bsp bedeuten

    Bye Ed X

    1. Hallo,

      stimmt, es geht kürzer und eleganter :

      <script>
      bla = new Array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14);
      alert(bla);
      function wegmit(die){
      bla=bla.slice(0,die).concat(bla.slice(die+1,bla.length));
      alert(bla);
      }
      </script>
      <a href="javascript:wegmit(7)">achtes raus</a>

      Grüsse

      Cyx23

  3. besten dank für eure antworten. jetzt funktioniert's! ("freu")

  4. hallo

    zu diesem thema werde ich auf der selfhtml-seite einfach nicht schlau. es gibt zwar eine methode Array.splice(), aber wie die funktioniert finde ich nicht heraus!!

    Du beziehst Dich auf </selfhtml/tecc.htm#a10>? Die Beschreibung dort ist auch wirklich nicht gelungen, vielleicht hilft Dir http://developer.netscape.com/docs/manuals/js/client/jsref/array.htm#1193766 beim Verstehen weiter. Aber Vorsicht, beim IE4 gibt's splice() AFAIK noch nicht.

    ich würde gerne ein element eines arrays löschen. die indizes sollten bei den "hinteren" elementen wieder stimmen. also z. b.:
    bla = new Array("ich","du","er","sie");
    (das dritte element löschen)
    neuer array ("ich","du","sie") mit gleichem name bla

    Das mit den Indizes verstehe ich jetzt nicht, aber prinzipiell geht das mit
      bla.splice(2, 1);

    So long