jQuery.unique()


jQuery.unique( array )返回: Array

描述: 删除数组中重复元素。只处理删除DOM元素数组,而不能处理字符串或者数字数组。

  • 添加的版本: 1.1.3jQuery.unique( array )

    • array
      类型: Array
      DOM元素的数组。

$.unique()函数通过搜索的数组对象,排序数组,并移除任何重复的节点。 如果一个节点和已经在数组中的节点完全相同,那么它被认为是重复的;  两个不同的节点具有相同的属性是被认为不重复的。 此功能只适用于普通的JavaScript DOM元素的数组,主要是jQuery内部使用。你可能永远都不需要使用它。

在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
<!DOCTYPE html>
<html>
<head>
<style>
div { color:blue; }
</style>
<script src="https://code.jquery.com/jquery-latest.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>
var divs = $("div").get(); // unique() must take a native array
// add 3 elements of class dup too (they are divs)
divs = divs.concat($(".dup").get());
$("div:eq(1)").text("Pre-unique there are " + divs.length + " elements.");
divs = jQuery.unique(divs);
$("div:eq(2)").text("Post-unique there are " + divs.length + " elements.")
.css("color", "red");
</script>
</body>
</html>

Demo: