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);