Mike: Listen durchsuchen

Hi,

ich bin gerade am Verzweifeln. Wie behandelt man denn in JS Listen? Ich will nur herausfinden, ob eine Liste ein Element enthält.

Mein letzter Versuch:

lUsers = "Max, Moritz, Heidi, Peter";
userId = "Heidi";

for(j=0;lUsers.length;++j)
   if( stMethods[i].lUsers.options[j] == userId)
      alert(stMethods[i].lUsers.options[j]);

Ok, .options gibt es laut selfhtml nur in Auswahllisten. Aber es war ein Versuch.

Wie funktioniert es wirklich?

Danke,

Mike

  1. Hallo Mike!

    Meine Lösung (quick and dirty):

    lUsers = "Max, Moritz, Heidi, Peter";
    userId = "Heidi";

    Userarray = lUsers.split(", ");

    for(j=0;Userarray.length;j++)
       if( Userarray[j] == userId)
          alert(Userarray[j]);

    Norbert

    1. Hi Norbert,

      klappt ja königlich! Vielleicht kannst Du mir beim Datentyp Object auch helfen?

      stMethods=new Object();
      stMethods["all"]=new Object();
      stMethods["all"]["de"]="Test Methode";
      stMethods["all"]["en"]="Test method";
      stMethods["all"]["lusers"]="Max, Moritz, Heidi, Peter";

      stMethods["test"]=new Object();
      stMethods["test"]["de"]="Test Methode2";
      stMethods["test"]["en"]="Test method2";
      stMethods["test"]["lusers"]="";

      alert(stMethods.length);

      Eigentlich habe ich eine 2 im alert erwartet, leider sagt er mir "undefined".

      Mike

      1. Jetzt hab ich es doch selbst geschafft:

        nRowCount = 0;
        for( col in stMethods )
        {
           nRowCount = nRowCount + 1;
        }
        alert( nRowCount);

        stMethods=new Object();
        stMethods["all"]=new Object();
        stMethods["all"]["de"]="Test Methode";
        stMethods["all"]["en"]="Test method";
        stMethods["all"]["lusers"]="Max, Moritz, Heidi, Peter";

        stMethods["test"]=new Object();
        stMethods["test"]["de"]="Test Methode2";
        stMethods["test"]["en"]="Test method2";
        stMethods["test"]["lusers"]="";

    2. Hallo Norbert,

      ein kleiner (Tipp-)Fehler war doch drin.

      Zeile 4: for(j=0;j<Userarray.length;j++)

      lUsers = "Max, Moritz, Heidi, Peter";
      userId = "Heidi";
      Userarray = lUsers.split(", ");
      for(j=0;Userarray.length;j++)
         if( Userarray[j] == userId)
            alert(Userarray[j]);

      Mike