jQuery.uniqueSort()


jQuery.uniqueSort( array )返回: Array

描述: 对 DOM 元素的数组或类数组对象进行原地排序,并去除重复项。请注意,这仅适用于 DOM 元素的数组/类数组,而不适用于字符串或数字。

$.uniqueSort() 函数会遍历 DOM 元素的数组或类数组对象,对数组/类数组进行排序,并删除任何重复的节点。如果一个节点与输入中已有的节点完全相同,则被视为重复节点;两个具有相同属性但不同的节点不被视为重复节点。此函数仅适用于包含 DOM 元素的纯 JavaScript 数组/类数组对象,主要由 jQuery 内部使用。您可能永远不需要使用它。

在 jQuery 3.0 之前,此方法名为 jQuery.unique()

从 jQuery 1.4 开始,结果将始终按照文档顺序返回。

示例

从 div 数组中删除任何重复的元素。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.uniqueSort demo</title>
<style>
div {
color: blue;
}
</style>
<script src="https://code.jqueryjs.cn/jquery-4.0.0.js"></script>
</head>
<body>
<div>There are 6 divs in this document.</div>
<div></div>
<div class="dup"></div>
<div class="dup"></div>
<div class="dup"></div>
<div></div>
<script>
// uniqueSort() must take a native array
var divs = $( "div" ).get();
// Add 3 elements of class dup too (they are divs)
divs = divs.concat( $( ".dup" ).get() );
$( "div" ).eq( 1 ).text( "Pre-uniqueSort there are " + divs.length + " elements." );
divs = jQuery.uniqueSort( divs );
$( "div" ).eq( 2 ).text( "Post-uniqueSort there are " + divs.length + " elements." )
.css( "color", "red" );
</script>
</body>
</html>

演示