So erstellen Sie eine Liste der einzigartigen Elemente in JavaScript?

In meinem CouchDB-reduzieren-Funktion, die ich brauche zu reduzieren, eine Liste der Elemente, die das einzigartige lieben.

Hinweis: In diesem Fall ist es ok, um eine Liste, wird es eine kleine Anzahl von Elementen des Typs string.

Mein Aktueller Weg ist, um Schlüssel von einem Objekt, dann wieder der Schlüssel des Objekts
da der Ort den code nicht verwenden kann, Dinge wie _.uniq zum Beispiel.

Möchte ich finden, eine elegantere Art und Weise zu buchstabieren als diese.

function(keys, values, rereduce) {
  //values is a Array of Arrays
  values = Array.concat.apply(null, values);
  var uniq = {};
  values.forEach(function(item) { uniq[item] = true; });
  return Object.keys(uniq);
}
  • je nachdem, was Sie definieren als elegant, Sie könnten Suche die Quelle der Unterstrich ist einzigartig auf github
  • Unterstrich ist teurer für die Zeichenfolge nur und weniger elegant, durch dass Arbeit im Allgemeinen Fall
  • Sie benötigen eine Funktion reduzieren? Wenn Sie nur die einzigartigen Werte, die Sie verwenden können, die group=true option bei der Beantragung der Ansicht. Weitere Infos finden Sie unter CouchDB-Wiki
  • eine map-Ansicht nicht verwenden, Gruppe
  • Mögliche Duplikate von [Get alle eindeutigen Werte in einem array (entfernen Sie Duplikate) stackoverflow.com/questions/1960473/...
InformationsquelleAutor Ronny | 2012-07-27
Schreibe einen Kommentar