Eliminar objetos duplicados de la matriz JSON
Tengo una matriz que se ve así:
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"}
];
Y necesito eliminar los duplicados para que quede algo como esto:
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"}
];
He intentado instalar underscore.js y usar ._uniq, pero eso solo parece funcionar cuando un solokey:value
par aparece en el objeto. Parece que no puedo hacer que funcione en varias teclas.
Cuando intento algo como:
var uniqueStandards = _.uniq(standardsList, function(item, key, Domain){
return item.Domain;
});
Solo obtengo los primeros tres valores únicos (uno por grado). Pero necesito todos los valores únicos en ambos grados y dominio. ¿Hay una manera simple de alimentar ambas teclas a la función _.uniq?
Finalmente, necesito una lista con cada calificación única como encabezado y los dominios únicos como elementos de la lista para pasar a una página HTML. Puedo estar haciendo esto mal, así que si hay una manera más fácil de lograr ese objetivo final, estoy abierto a ideas.
¡Gracias por adelantado!
Editar: Obtuve algunas buenas respuestas y quería aclarar cuál era mi objetivo final. Estoy tratando de crear una serie de listas en HTML del formulario:
<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>
Sin embargo, mi original era crear una matriz e insertar eso en el<div>
elemento en la página con$("#divid").append(array)