javaScript数组去重函数

数组去重复是一个常见的需求,今天介绍两种方法实现这一功能:

一、jQuery.unique

使用jQuery unique 函数去重,适用于已引入jQuery库的童鞋
语法:

jQuery.unique( array )

示例:

var arr=["start", "1", "2", "1", "dsfsd", "4", "3", 3, "4", 4, "end", 5]
console.log(jQuery.unique( arr )) //["start", "end", "dsfsd", 5, 4, "4", 3, "3", "2", "1"]

二、自定义函数

以下方法提取自jQuery,实现原理:对数组排序,判断相邻的值是否相等
源代码:

Array.prototype.unique = function(){
	var results=this.sort()
	for ( var i = 1; i < results.length; i++ ) {
		if ( results[i] === results[ i - 1 ] ) {
			results.splice( i--, 1 );
		}
	}
	return results;
}

示例:

var arr=["start", "1", "2", "1", "dsfsd", "4", "3", 3, "4", 4, "end", 5]
console.log(arr.unique()) //["1", "2", "3", 3, "4", 4, 5, "dsfsd", "end", "start"]

发表评论

电子邮件地址不会被公开。 必填项已用*标注