Un algorithme court et rapide pour Array.unique() [Javascript]

Voici un simple algorithme, et apparemment rapide, trouvé sur http://www.shamasis.net/2009/09/fast-algorithm-to-find-unique-items-in-javascript-array/ et que j’ai raccourci légèrement :

Array.prototype.unique=[].unique||function(){var o={},i,l=this.length,r=[];for(i=0;i<l;i++)o[this[i]]=this[i];for(i in o)r.push(o[i]);return r}

// or, if you don't want to override the Array prototype:
var ArrayUnique = function(arr){var o={},i,l=arr.length,r=[];for(i=0;i<l;i++)o[arr[i]]=arr[i];for(i in o)r.push(o[i]);return r}

// exemple
var tab=[1, 5, 2, 4, 1, 5, 4, 1, 5, 6, 8 ];
var tabUniq=tab.unique(); // [1, 5, 2, 4, 6, 8]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*