Метод .uniqueSort()
Определение и применение
Метод сортирует DOM-элементы по порядку в документе и убирает повторные ссылки на один узел. Это полезно после обхода предшествующих элементов: порядок коллекции может отличаться от визуального порядка списка.
Синтаксис и результат
const ordered = collection.uniqueSort();Метод появился в 3.7, не принимает аргументов и возвращает отсортированную коллекцию jQuery. Используйте возвращённое значение для следующих действий. В jQuery 4.0 исходная коллекция сохраняется; метод создаёт новый набор через стек коллекций.
Ограничения
Дубликатом считается тот же DOM-узел, а не другой элемент с одинаковым текстом или атрибутами. Метод не предназначен
для сортировки чисел и строк. Для отсоединённых узлов нельзя рассчитывать на общий порядок в документе. Функция
$.uniqueSort(array)
работает с массивом, а этот метод вызывается у коллекции jQuery.
Пример использования
Порядок и дубликаты узлов: попробуйте сами
В исходном наборе В, А, В повторяется один узел. Результат — А, В. Используется jQuery 4.0.0.
index.html
<ul><li>А</li><li>Б</li><li>В</li></ul>
<output></output>
main.js
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(", "));
Нажмите , чтобы запустить пример.