Andi: Objekte aus einem Array wieder in einem anderen speichern

Hallo!

Ich habe ein Array mit Objekten, die ich per getElementsByTagName hole.
Nun möchte ich dieses Array in einer Schleife aussortieren. Wenn ich allerdings
ErstesArray[i] = NeuesArray[n]
setze, sagt der Browser mir, dass das Neue Array "kein Objekt oder null" ist.
Ich nehme mal an, dass ich so nicht einfach das Objekt kopiere kann, oder?

  1. Hello out there!

    ErstesArray[i] = NeuesArray[n]

    Bei den Namen der Arrays sagt meine Glaskugel, dass du die Zuweisung genau andersrum machen möchtest.

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. Hello out there!

      ErstesArray[i] = NeuesArray[n]

      Bei den Namen der Arrays sagt meine Glaskugel, dass du die Zuweisung genau andersrum machen möchtest.

      <aufdemschlauchsteh> Hä? </aufdemschlauchsteh>

      See ya up the road,
      Gunnar

      Gruß
      Andi

      1. Hello out there!

        ErstesArray[i] = NeuesArray[n]

        Bei den Namen der Arrays sagt meine Glaskugel, dass du die Zuweisung genau andersrum machen möchtest.

        <aufdemschlauchsteh> Hä? </aufdemschlauchsteh>

        Gunnar meint, dass du versuchst dem ersten, ursprünglichen Array versuchst den Wert des neuen Array hinzuzufügen. Der Code müsste seiner Vermutung nach umgekehrt lauten:

        NeuesArray[n] = ErstesArray[i]

        Eventuell vesuchst du nämlich mit deinem Code auf eine Element des NeuesArray zuzugreifen, obwohl dieses Array noch leer ist.

        Poste doch bitte einmal etwas mehr Code, von der initiierung des ersten Arrays bis zum Versuch die Werte zu kopieren

        See ya up the road,
        Gunnar

        Gruß
        Andi

        lg
        Thomas

        1. Nein, ist schon richtig rum. Hier mal mehr Code:

          var divArray = document.getElementsByTagName("div");
           var Menuitems;
           for (var i=0; i<divArray.length; i++) {
            if (divArray[i].className == 'tabmenu' || divArray[i].className == 'tabmenu_active') {
             Menuitems[Menuitems.length] = divArray[i];
            }
           }

          Wie gesagt, in Menuitems ist nichts drin...

          1. Hello out there!

            Wie gesagt, in Menuitems ist nichts drin...

            Und die Fehlermeldung der JavaScript-Konsole hat dich nicht stutzig gemacht? “Menuitems has no properties” ...

            var Menuitems;
               Menuitems[Menuitems.length]

            ... ja wie auch? Wenn du Menuitems als einfache Variable deklarierst, ist es halt kein Array.

            Wenn du das hingegen als Array deklarierst ...

            var Menuitems = new Array();

            See ya up the road,
            Gunnar

            --
            “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
      2. Hallo Andi.

        ErstesArray[i] = NeuesArray[n]

        Bei den Namen der Arrays sagt meine Glaskugel, dass du die Zuweisung genau andersrum machen möchtest.

        <aufdemschlauchsteh> Hä? </aufdemschlauchsteh>

        Obwohl deine ausführliche Nachfrage kaum verläßliche Schlüsse darauf zuläßt, *was* genau du an Gunnars Antwort nicht verstanden hast, vermute ich, daß es sich dabei nicht um die (deutsche) Sprache handelt...

        Die http://de.selfhtml.org/javascript/sprache/variablen.htm#aendern@title=Zuweisung...

        alt = neu;

        ... wird von rechts nach links ausgewertet, d.h. du speicherst in "alt" das, was in "neu" steht:

        alt <-- neu

        Wie Gunnar aufgrund der Namen deiner Variablen vermutete, möchtest du die Zuweisung aber genau andersherum vornehmen.

        --
        Once is a mistake, twice is jazz.