Array - Doppelte Werte entfernen
Alex
- javascript
0 Lorem0 Norbert Klein
hi
wie entferne ich doppelte einträge aus einem array?
vielen dank für eure hilfe
mfg
alex
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
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