当前位置: 首页 > 中文手册 > jQuery.unique() 函数详解

jQuery.unique() 函数详解

jQuery.unique()函数用于根据元素在文档中出现的先后顺序对DOM元素数组进行排序,并移除重复的元素

注意:该函数仅作用于DOM元素数组,而不是数字、字符串或其他类型。此外,这里的重复指的是两个元素实际上是同一个元素(通过全等"==="来判断),而不是指两个属性相同的元素。

警告:通过实际测试发现,该函数并不能按照预期返回正确的结果。在不同的浏览器中、在不同版本的jQuery中,其返回结果可能不一致(请参考下面的演示代码)。

该函数属于全局jQuery对象。

语法

jQuery 1.1.3 新增静态函数

jQuery.unique( array )

参数

参数描述
arrayArray类型指定的DOM元素数组。

对数组中的DOM元素按照文档顺序进行排序,是从jQuery 1.4开始的。

返回值

jQuery.unique()函数的返回值为Array类型,返回排序、去重后的DOM元素数组。

示例&说明

jQuery.unique()函数的排序和去除,依赖于浏览器自身的相关API实现(如果没有相关实现,则使用jQuery自己的实现),由于算法以及bug等因素,该函数的返回结果可能不符合期望。

请先参考以下HTML示例代码:

<p id="n1" class="test">段落1</p>
<p id="n2" class="test">段落2</p>
<p id="n3">段落3
	<span id="n4" class="test">文本1</span>
</p>
<div id="n5" class="test">文本2</div>
<p id="n6">段落4</p>

以下是与jQuery.unique()函数相关的jQuery示例代码,以演示jQuery.unique()函数的具体用法:

// 打印DOM元素数组中所有元素的id
function printDoms( doms ){
	var ids = [];
	for(var i = 0; i < doms.length; i++ ){
		ids[i] = doms[i].id;
	}
	document.body.innerHTML += "<br/>" + ids.join(", ");
}

// 匹配n1、n2、n3、n6 四个元素
var pArray = $("p").get();
// 匹配n1、n2、n4、n5 四个元素
var testArray = $(".test").get();

// 联接两个数组
var total = pArray.concat( testArray );
printDoms( total ); // n1, n2, n3, n6, n1, n2, n4, n5

// 使用$.unique()进行排序、去重
var result = $.unique( total );
printDoms( result ); // n1, n2, n3, n6, n4, n5 (在Chrome浏览器中)
// 在IE或火狐上,其结果仍然为 n1, n2, n3, n6, n1, n2, n4, n5

/* 以上输出基于jQuery 1.11.1,在不同版本的jQuery中,其结果可能并不一致 */

运行代码

15 3
我们认为: 用户的主要目的,是为了获取有用的信息,而不是来点击广告的。因此本站将竭力做好内容,并将广告和内容进行分离,确保所有广告不会影响到用户的正常阅读体验。用户仅凭个人意愿和兴趣爱好点击广告。
我们坚信:只有给用户带来价值,用户才会给我们以回报。
CodePlayer技术交流群1CodePlayer技术交流群1

帮朋友打一个硬广告:

P2P网贷系统(Java版本) 新年低价大促销,多年P2P技术积累,系统功能完善(可按需定制,可支持第三方存管、银行存管),架构稳定灵活、性能优异、二次开发快速简单。 另可提供二次开发、安装部署、售后维护、安全培训等一条龙服务。

外行看热闹,内行看门道。可以自信地认为,在系统设计上,比市面上的晓风、迪蒙、方维、绿麻雀、国融信、金和盛等P2P系统要好。
深圳地区支持自带技术人员现场考察源代码、了解主要技术架构,货比三家,再决定是否购买。

也可推荐他人购买,一旦完全成交,推荐人可获得实际售价 10% 的返现。
有意向者,详情请 点击这里 联系,工作时间立即回复。