Entfernen Sie doppelte Objekte aus dem JSON-Array
Ich habe ein Array, das so aussieht:
var standardsList = [
{"Grade": "Math K", "Domain": "Counting & Cardinality"},
{"Grade": "Math K", "Domain": "Counting & Cardinality"},
{"Grade": "Math K", "Domain": "Counting & Cardinality"},
{"Grade": "Math K", "Domain": "Counting & Cardinality"},
{"Grade": "Math K", "Domain": "Geometry"},
{"Grade": "Math 1", "Domain": "Counting & Cardinality"},
{"Grade": "Math 1", "Domain": "Counting & Cardinality"},
{"Grade": "Math 1", "Domain": "Orders of Operation"},
{"Grade": "Math 2", "Domain": "Geometry"},
{"Grade": "Math 2", "Domain": "Geometry"}
];
Und ich muss die Duplikate entfernen, damit so etwas bleibt:
var standardsList = [
{"Grade": "Math K", "Domain": "Counting & Cardinality"},
{"Grade": "Math K", "Domain": "Geometry"},
{"Grade": "Math 1", "Domain": "Counting & Cardinality"},
{"Grade": "Math 1", "Domain": "Orders of Operation"},
{"Grade": "Math 2", "Domain": "Geometry"}
];
Ich habe versucht, underscore.js zu installieren und ._uniq zu verwenden, aber das scheint nur zu funktionieren, wenn eine einzigekey:value
Paar erscheint im Objekt. Ich kann nicht scheinen, es zu erhalten, über mehrere Schlüssel zu arbeiten.
Wenn ich etwas probiere wie:
var uniqueStandards = _.uniq(standardsList, function(item, key, Domain){
return item.Domain;
});
Ich erhalte nur die ersten drei eindeutigen Werte (einen pro Klasse). Aber ich benötige alle eindeutigen Werte über Grad und Gebiet. Gibt es eine einfache Möglichkeit, beide Tasten der _.uniq-Funktion zuzuweisen?
Letztendlich benötige ich eine Liste mit jeder eindeutigen Note als Überschrift und den eindeutigen Domänen als Listenelementen, die an eine HTML-Seite übergeben werden sollen. Ich gehe das vielleicht falsch an. Wenn es also einen einfacheren Weg gibt, dieses Endziel zu erreichen, bin ich offen für Ideen.
Danke im Voraus!
Bearbeiten: Ich bekam ein paar gute Antworten und wollte klarstellen, was mein Endziel war. Ich versuche, eine Reihe von Listen in HTML des Formulars zu erstellen:
<div>
<h3>Math K</h3>
<li>Counting & Cardinality</li>
<li>Geometry</li>
</div>
<div>
<h3>Math 1</h3>
<li>Counting & Cardinality</li>
<li>Orders of Operation</li>
</div>
<div>
<h3>Math 2</h3>
<li>Geometry</li>
</div>
Mein ursprüngliches Ziel war es jedoch, ein Array zu erstellen und dieses in das zu schieben<div>
Element auf der Seite mit$("#divid").append(array)