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()メソッド - 素人がプログラミングを勉強するブログ