JSFiddle - React, Tailwind, and code Playground

JavaScript

var arr = [1,1,2,2,2,2,3,4,5,6,7,8,8,8,8,9,9,0];





var b = Date.now();
for (var i = 0; i < 100000; i++) {
var unique = function(e, i, a) {
return a.indexOf(e) == i;
}
arr = arr.filter(unique);
}
alert(Date.now() - b);





var b = Date.now();
for (var k = 0; k < 100000; k++) {
    var seen = {};
    var out = [];
    var len = arr.length;
    var j = 0;
    for(var i = 0; i < len; i++) {
         var item = arr[i];
         if(seen[item] !== 1) {
               seen[item] = 1;
               out[j++] = item;
         }
    }

}
alert(Date.now() - b);





var b = Date.now();
for (var k = 0; k < 100000; k++) {
    var arr2 = [];
    var out = [];
    var len = arr.length;
    var j = 0;
    for(var i = 0; i < len; i++) {
         var item = arr[i];
         if(arr2.indexOf(item) == -1) {
               arr2.push(item);
               out[j++] = item;
         }
    }
}
alert(Date.now() - b);