Метод .uniqueSort()

Определение и применение

Метод сортирует DOM-элементы по порядку в документе и убирает повторные ссылки на один узел. Это полезно после обхода предшествующих элементов: порядок коллекции может отличаться от визуального порядка списка.

Синтаксис и результат

JavaScript
const ordered = collection.uniqueSort();

Метод появился в 3.7, не принимает аргументов и возвращает отсортированную коллекцию jQuery. Используйте возвращённое значение для следующих действий. В jQuery 4.0 исходная коллекция сохраняется; метод создаёт новый набор через стек коллекций.

Ограничения

Дубликатом считается тот же DOM-узел, а не другой элемент с одинаковым текстом или атрибутами. Метод не предназначен для сортировки чисел и строк. Для отсоединённых узлов нельзя рассчитывать на общий порядок в документе. Функция $.uniqueSort(array) работает с массивом, а этот метод вызывается у коллекции jQuery.

Пример использования

Порядок и дубликаты узлов: попробуйте сами

В исходном наборе В, А, В повторяется один узел. Результат — А, В. Используется jQuery 4.0.0.

index.html
HTML
<ul><li>А</li><li>Б</li><li>В</li></ul>
<output></output>
main.js
JavaScript
const items = $("li").get();
const collection = $([items[2], items[0], items[2]]);
const ordered = collection.uniqueSort();
$("output").text(ordered.map(function () { return this.textContent; }).get().join(", "));