Murphy: Doppelte/Gleiche Werte aus Array heraus filtern

Beitrag lesen

[...] 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>