doppelte Array Einträge entfernen
Doppelte Einträge in einem Array lassen sich am effektivsten über ein Objekt entfernen. Der Trick dabei ist, das ein Objektattribut nicht doppelt vorkommen kann und somit ist ein Attribut, dass mehrmals zugewiesen wird nur einmal vorhanden.
Die Umsetzung erfolgt über Array.prototype dann läßt sich diese Funktion auf jedes Array anwenden.
Der Code sieht folgendermaßen aus:
javascript
Array.prototype.unique = function() { |
var o = {}; |
var tmp = []; |
for(var i = 0 ; i < this.length; i++) o[this[i]] = true; |
for(var i in o) tmp[tmp.length] = i; |
return tmp; |
} |
Und der Test: Klick
Comments (2)
2447 mal gelesen.
2447 mal gelesen.


2 Kommentare Einen Kommentar hinterlassen »
Kommentare
Dienstag 24.März 2009: 11:43
Hallo,
echt absolut geschickt die Idee. Es hat etwas gedauert bis ich's kapiert habe, aber es ist echt gut.
nur var o = {} verstehe ich nicht ganz. Wird damit ein "leeres" Objekt deklariert?
Dienstag 24.März 2009: 16:09
Ja, das ist ein Objekt Literal. Genauer beschrieben wird das in diesem
selfhtml Artikel.
Einen Kommentar hinterlassen