Мдям, квадратичная скорость... после этого мало кому захочется такой код использовать  Лучше всегда пересмотреть идею, зачем может понадобится такая функция? Но всё же перепишем, побыстрее:
| Код | Array.prototype.unique=function() { var ret=[]; var reg={}; for (i=0;i<this.length;i++) { if(typeof(reg["~"+this[i]])!="undefined") continue; reg["~"+this[i]]=true; ret.push(this[i]); } return ret; }
var a=[90,6,7,34,90,45,6,34,8,90]; alert(a); alert(a.unique()); |
Скорость О(N*скорость_хешей*скорость_конкатенации_строк). Скорость хешей и кокатенация очень быстрые. Можно убедится используя оба кода на больших массивах. |