素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

Arrayのuniq()を作る

配列を重複しないようにするメソッド。

Array.prototype.uniq=function(){
	var r=this;
	return r.filter(function(a,i)
			!r.slice(i+1).some(
				function(b)a===b
				)
			)
}

var array=[1,1,2,3,4,1,null,null,undefined,HTMLElement,'a','b',HTMLElement,'b'];

array.uniq();//[2, 3, 4, 1, null, undefined, "a", HTMLElement, "b"]

速度のことは考えてないけど、きちんと動く。

追記:別ばーじょん
さっきのより高速なuniq()メソッド - 素人がプログラミングを勉強するブログ