Test name | Executions per second |
---|---|
jQuery | 298.3 Ops/sec |
Lodash | 436.1 Ops/sec |
Flags | 306773.4 Ops/sec |
JS Func | 44.5 Ops/sec |
Set | 445.7 Ops/sec |
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js'></script>
var $ = window.$;
var _ = window._;
var myArr = [1, 2, 1, 3, 1, 4];
var longArr = [];
for (let i = 0; i < 100000; i++) {
longArr.push(Math.floor(Math.random() * 100));
}
var result = $.unique( myArr );
var result2 = $.unique( longArr );
var result = _.uniq( myArr );
var result2 = _.uniq( longArr );
var flags = [],
output = [],
l = myArr.length,
i;
for (i = 0; i < l; i++) {
if (flags[myArr[i]]) continue;
flags[myArr[i]] = true;
output.push(myArr[i]);
}
var flags2 = [],
output2 = [],
l2 = myArr.length,
i2;
for (i2 = 0; i2 < l2; i2++) {
if (flags2[longArr[i2]]) continue;
flags2[longArr[i2]] = true;
output2.push(longArr[i2]);
}
var unique = myArr.filter(function (itm, i, a) {
return i == myArr.indexOf(itm);
});
var unique2 = longArr.filter(function (itm, i, a) {
return i == longArr.indexOf(itm);
});
var unique = [ (new Set(myArr))];
var unique2 = [ (new Set(longArr))];