У меня есть массив, который выглядит так:
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"}
];
И мне нужно удалить дубликаты, чтобы что-то вроде этого осталось:
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"}
];
Я попытался установить underscore.js и использовать._uniq, но это работает только тогда, когда в объекте появляется одна пара key:value
. Кажется, я не могу заставить его работать с несколькими ключами.
Когда я пытаюсь что-то вроде:
var uniqueStandards = _.uniq(standardsList, function(item, key, Domain){
return item.Domain;
});
Я получаю только первые три уникальных значения (по одному на класс). Но мне нужны все уникальные ценности как для класса, так и для домена. Есть ли простой способ передать оба ключа функции _.uniq?
В конечном счете, мне нужен список с каждым уникальным классом в качестве заголовка и уникальных доменов в качестве элементов списка, которые нужно передать в HTML-страницу. Возможно, я ошибаюсь, поэтому, если есть более простой способ достичь этой конечной цели, я открыт для идей.
Спасибо заранее!
Изменить: Получение хороших отзывов и желание уточнить, какова была моя конечная цель. Я пытаюсь создать серию списков в HTML формы:
<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>
Моим оригиналом было создание массива и его толкание в элемент <div>
на странице с $("#divid").append(array)