Enrico: Zfg. ident. Aktionen bei Schleifen auf versch. Arrays/Variablen

Hallo und guten Abend zu vorgerückter Stunde,

leider konnte ich auf die Schnelle keine passende(re) Überschrift finden.

Mich beschäftigt seit ca. einer Stunde, ob es eine Möglichkeit gibt, bei einer
for-Schleife vorher abzufragen, welche Variable oder welches Array durchlaufen
werden soll und v.a. wie ich es umsetzen könnte, dass ich dann nicht zwei
for-Schleifen programmieren muss, sondern nur eine habe.

Beispiel:

Aktueller Stand:

if (Variable)
   {
      for (var i = 0; i < Array[1].length; i++)
      {
         ...viele Aktionen...
      }
   }
   else
   {
      for (var i = 0; i < Array[2].length; i++)
      {
         ...die gleichen Aktionen wie in Schleife 1, aber mit anderem Array...
      }
   }

Ziel:

if (Variable)
   {
      for (var i = 0; i < Array[1].length; i++)
   }
   else
   {
      for (var i = 0; i < Array[2].length; i++)
   }

{
      ...viele Aktionen...
   }

Ich hoffe, euch stehen bei meinem Ziel nicht die Haare zu Berge, aber das wäre mein
(erster) Ansatz.

Gibt es hier irgendwelche Möglichkeiten?

Dann könnte ich mir erheblich viel Code einsparen.

Dankesehr und Gruß
Enrico

  1. Hi,

    Ziel:

    if (Variable) {
          for (var i = 0; i < Array[1].length; i++)
       } else {
          for (var i = 0; i < Array[2].length; i++)
       }

    ähm, mit anderen Worten, Du möchtest den Index Deines Arrays abhängig von einer Bedingung machen. Dann tue das doch einfach, anstatt den Unterschied auf den gesamten Schleifenkopf zu projizieren.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo Cheatah,

      ich denke, da hast Du mich falsch verstanden.

      Ich will keine Unterscheidung bezüglich des Index machen, sondern bezüglich des
      in der Schleife zu verwendenden Arrays.

      Gruß
      Enrico

      1. Hallo Cheatah,

        so klappt's:

        function Array_ermitteln ()
           {
              Zu_verwendendes_Array = document.Aktuelles_Array.Array_Name.value;

        if (Zu_verwendendes_Array == "Filmliste_komplett")
              {
                 return (Filmliste_komplett);
              }
              else
              {
                 return (Filmliste_Ansicht);
              }
           }

        function Klasse_wechseln (Klasse)
           {
              Zu_verwendendes_Array = Array_ermitteln ();

        ...usw...

        switch (Klasse)
              {
                 case "Nr":
                 {
                    switch (Nr_aktuelle_Klasse)
                    {
                       case "Nr_0_0":
                       {
                          var Neue_Klasse = "Nr_1_0";
                          Zu_verwendendes_Array.sort (Nr_1_0);
                       }
                       ...usw...
                    }
                    ...usw...
                 }
              }

        Tabelle_ausgeben (Zu_verwendendes_Array);
           }

        function Tabelle_ausgeben ()
           {
              ...usw...

        for (var i = 0; i < Zu_verwendendes_Array.length; i++)
              {
                 ...usw...
              }

        ...usw...
           }

        Danke für Deinen Denkanstoß :-)

        Gruß
        Enrico

        1. Hallo Cheatah,

          Du hast mir bei schon so manchem Problem den entscheidenden Anstoß in die
          richtige Richtung gegeben, könntest Du mir vielleicht auch noch bei meinem
          anderen Problem "(JAVASCRIPT) Höhe eines <ul>-Elementes ermitteln" helfen?

          Hier komme ich absolut nicht weiter...

          Und das wäre der letzte Schritt, um die Funktionalität meiner DVD-Verwaltung
          abzuschliessen, dann wäre die Pflicht geschafft, dann kommt nur noch die Kür.

          Gruß
          Enrico