さっきのより高速なuniq()メソッド
Arrayのuniq()を作る - 素人がプログラミングを勉強するブログのやつと、下のやつのどっちがいいかな。
Array.prototype.uniq=function() this.sort().reduceRight( function(a,b){ a[0]===b||a.unshift(b); return a; } ,[]) var array=[1,1,2,3,4,1,null,null,undefined,HTMLElement,'a','b',HTMLElement,'b']; array.uniq();//[1, 2, 3, 4, HTMLElement, "a", "b", null]
一度ソートすれば隣と比較するだけでよくなる。ただし、順番はソートされたものになる。