Alex: Array - Doppelte Werte entfernen

hi

wie entferne ich doppelte einträge aus einem array?

vielen dank für eure hilfe

mfg
alex

  1. Hallo,

    ein array disjunkt zu machen, ist schneller als es zu sortieren.

    d.h. einmal loopen (die später gelöschten überspringen) um einen wert zu erhalten, diesen sichern in tabelle2, einen zweiten loop um auf doppelte zu prüfen, diese löschen.

    ==> tabelle 2 ist disjunkt

    gruß lorem

    hi

    wie entferne ich doppelte einträge aus einem array?

    vielen dank für eure hilfe

    mfg
    alex

  2. Hallo.

    Ich mag assoziative Arrays:

    <script type="text/javascript">
    <!--
     function dme(a1) // delete multiple entries (array)
      {
       var a2 = new Array();
       var a3 = new Array();
       for(var i = 0; i < a1.length; i++)
        {
         if(typeof(a2[a1[i]]) == "undefined")
          {
           a2[a1[i]] = true;
           a3[a3.length] = a1[i];
          }
        }
       var a4 = new Array();
       for(var i = 0; i < a3.length; i++){a4[a4.length] = a3[i]}
       return a4;
      }
     Tiere = new Array("Hund","Katze","Maus","Hund","Maus","Hund","Katze","Hund","Maus");
     Zahlen = new Array(1,2,3,2,1,2,3,3,1);
     document.open("text/html");
     document.write('<h1>Tiere: ' + dme(Tiere).join(",") + '</h1>');
     document.write('<h1>Zahlen: ' + dme(Zahlen).join(",") + '</h1>');
     document.close();
    //-->
    </script>

    Als Ergebnis gibt die Funktion bei den Tieren ein Array bestehend aus Hund, Katze und Maus zurück, bei den Zahlen gibt's eins, das 1, 2 und 3 enthält.

    Gruß
    Norbert