Функция $.uniqueSort(): удаление повторяющих элементов

Функция $.uniqueSort() позволяет удалить все повторяющиеся элементы из массива DOM-элементов. Возвращает новый массив. Применяется как обычная функция, объявленная в пространстве имен библиотеки jQuery. Имеет следующий синтаксис:

<Новый массив> = $.uniqueSort(<Исходный массив DOM-элементов>)
Обратите внимание

Рассмотрим пример использования функции $.uniqueSort() (листинг 1.29).

Листинг 1.29. Функция $.uniqueSort()

<!doctype html>
<html lang="ru">
<head>
   <meta charset="utf-8">
   <title>Функция $.uniqueSort()</title>
   <style>
   .cls1 { color: red; }
   </style>
</head>
<body>
   <div id="log"></div>
   <a href="link1.html" class="cls1">Ссылка 1</a><br>
   <a href="link2.php" class="cls1">Ссылка 2</a><br>
   <a href="link3.html">Ссылка 3</a><br>
   <a href="link4.php">Ссылка 4</a>
   <p class="cls1">Абзац</p>
   <div id="div1"></div>

<script src="js/jquery.min.js"></script>
<script>
$(function() {
   var arr1 = $('a[href$=".php"]').get();
   var arr2 = $('.cls1').get();
   $('#log').append('Элементов в arr1: ' + arr1.length + '<br>');
   $('#log').append('Элементов в arr2: ' + arr2.length + '<br>');
   // Объединяем два массива
   var arr3 = arr1.concat(arr2);
   $('#log').append('Элементов в arr3: ' + arr3.length + '<br>');
   // Оставляем только уникальные значения
   arr3 = $.uniqueSort(arr3);
   $('#log').append('Уникальных элементов: ' + arr3.length + '<br>');
   $('#div1').append(arr3);
});
</script>
</body>
</html>

Результат:

Элементов в arr1: 2
Элементов в arr2: 3
Элементов в arr3: 5
Уникальных элементов: 4

Итак, вначале находим все ссылки, которые имеют расширение php. С помощью метода get() получаем массив DOM-элементов. Наш массив будет состоять из следующих элементов:

<a href="link2.php" class="cls1">Ссылка 2</a>
<a href="link4.php">Ссылка 4</a>

Далее мы получаем все элементы с классом cls1 и с помощью метода get() преобразуем их в массив DOM-элементов. Массив будет состоять из следующих элементов:

<a href="link1.html" class="cls1">Ссылка 1</a>
<a href="link2.php" class="cls1">Ссылка 2</a>
<p class="cls1">Абзац</p>

После объединения массивов получаем повторяющийся элемент:

<a href="link2.php" class="cls1">Ссылка 2</a>

Функция $.uniqueSort() оставит этот элемент в единственном числе, и в результате мы получим четыре элемента вместо пяти (элементы располагаются в порядке следования внутри документа):

<a href="link1.html" class="cls1">Ссылка 1</a>
<a href="link2.php" class="cls1">Ссылка 2</a>
<a href="link4.php">Ссылка 4</a>
<p class="cls1">Абзац</p>

Учебник по jQuery и AJAX
Учебник по jQuery и AJAX в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов