Историческая функция $.unique()
Определение и применение
Функция $.unique() удаляла повторные ссылки на DOM-узлы и упорядочивала массив по расположению узлов в
документе. Она полезна для понимания старого кода, объединяющего результаты нескольких обходов DOM.
Синтаксис
const result = $.unique(nodes);Параметры и возвращаемое значение
nodes — обычный массив DOM-элементов. Массив изменяется на месте, и возвращается тот же массив. Если один
узел встречается несколько раз, остаётся одна ссылка. Два разных элемента с одинаковыми атрибутами не считаются
дубликатами.
Функция не предназначена для удаления повторных строк или чисел. Для отсоединённых узлов или узлов разных документов общий порядок страницы может быть не определён.
Особенности и совместимость
Появилась в 1.1.3; с 1.4 результат упорядочивается по документу. С 3.0 это устаревший псевдоним
$.uniqueSort(), удалённый в 4.0. Для массива используйте современную функцию $.uniqueSort(); для коллекции с 3.7 есть
.uniqueSort().
Если нужно сохранить исходный массив, передайте его копию. Пример использует историческую 3.1.1 и показывает одновременно порядок, удаление дубликата и изменение массива.
Документация
Пример старого кода
Повторная ссылка на узел: попробуйте сами
Массив В, А, В превращается в А, В и остаётся тем же объектом массива. Используется jQuery 3.1.1.
index.html
<ul>
<li>А</li>
<li>Б</li>
<li>В</li>
</ul>
<pre id="result"></pre>
main.js
const elements = $('li').get()
const nodes = [elements[2], elements[0], elements[2]]
const result = $.unique(nodes)
$('#result').text(result.map((node) => node.textContent).join(', ') + ' | тот же массив: ' + (result === nodes))
Нажмите , чтобы запустить пример.