Norbert Klein: Array - Doppelte Werte entfernen

Beitrag lesen

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