[...] Mir tut sich ein neues Problem auf.. wenn ich überlege, wäre das ausblenden bzw. 'löschen' aller doppelten Einträge nicht _genau_ das, was ich brauche.
Ich müsste das nur auf eine doppelte Variable beziehen.. also in meinem beispiel z.B. _nur_ 'abc'..
Das geht mit einer kleinen Variation der Funktion:
Array.prototype.uniqueSome = function () {
var seen = {}
var aout = []
for (var i = 0; i < arguments.length; i++)
seen[arguments[i]] = false
for (var i = 0; i < this.length; i++) {
var elt = this[i]
if (seen.hasOwnProperty(elt)) {
if (!seen[elt]) {
aout.push(elt)
seen[elt] = true
}
}
else
aout.push(elt)
}
return aout
};
Naja und das Einbinden der 'neuen' Funktion wäre dann die zweite Sache.. die soll per Verweis vom User aus aktiviert werden [...]
Nichts leichter als das:
<html>
<head>
<title>Test</title>
<script type="text/javascript"><!--
Array.prototype.uniqueSome = [...]
var someArray = [ "foo", "bar", "baz", "baz", "boing", "foo", "boing" ];
--></script>
</head>
<body>
<h1>Test</h1>
<p>
<a href="javascript:alert(someArray)">Show Array</a><br>
<a href="javascript:someArray=someArray.uniqueSome('foo','bar')">Unique occurences of 'foo' and 'bar'</a>
</p>
</body>
</html>