javascript 函数备忘 – unique

这并不是一标准的函数,而是利用Array的方法来自定义而以。

if (!Array.prototype.unique){
	Array.prototype.unique = function(){
		var self = this,
		    _a = self.concat().sort();
		
		_a.sort(function(a, b){
			if(a === b){
				var n = self.indexOf(b);
				self.splice(n,1);
			}
			
			return -1;
		});	
		
	};
}

其中值得注意的是sort函数如果是使用函数做为参数的话,一定要有返回值,并且一定是数字!

相关问题与讨论:

http://www.zachleat.com/web/array-sort/

http://stackoverflow.com/questions/2956432/js-sort-works-in-firefox-but-not-ie-cant-work-out-why

此条目发表在 javascript, 实验室 分类目录,贴了 标签。将固定链接加入收藏夹。