doppelte Array Einträge entfernen
Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /var/www/virtual/struebig/html/jstruebig/wordpress/wp-content/plugins/wp-syntax/wp-syntax.php on line 383
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:
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
ähnliche Artikel
- 13. Mai 2009 -- String Erweiterungen (5)
Eine der Eigenschaften von Javascript, die sie von...
- 31. August 2007 -- Wie kann man ein Array mischen? (2)
Ich hab mal wieder ein altes Stück Code ausgegraben,...
- 6. August 2019 -- CAS Nummer validieren (0)
Wieder ein kleines Skript aus dem Bereich Chemie. Um...
Comments (6)
12400 mal gelesen.
12400 mal gelesen.
6 Kommentare
Leave a comment »
Seiten:
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?
24. März 2009: 16:09
Ja, das ist ein Objekt Literal. Genauer beschrieben wird das in diesem
selfhtml Artikel.
17. Oktober 2011: 13:53
Hallo,
tolle Lösung! Da muss man mal erst drauf kommen.
Es ist manchmal eine gute Lösung, System-„Begrenzungen“ zu nutzen im positiven Sinne, wenn man das so nennen kann.
L.G
Härry
20. November 2016: 20:33
Affengeil!
siehe URL…
Herrzlichen Dank und schreib mal wieder ;)
–Rolf
16. Juni 2021: 12:20
Kongeniale Funktion! Sehr nützlich auch noch 16 Jahre nach Veröffentlichtung!
16. Juni 2021: 12:50
Danke!
Könnte man aber heute auch etwas kürzer formulieren:
Array.prototype.unique = function(){
var o = {};
for(var i = 0 ; i < this.length; i++) o[this[i]] = true; return Object.keys(o); };
Das Neuste
Kategorien
am meisten gelesen
zuletzt kommentiert
Archiv
Wortwolke
Animation Firefox OOP Wordpress Tool LED Scroller Datenschutz prototype linux Laufschrift Drag&Drop Javascript about:config LED String überwachung Browser Bugs Privatsphäre google