Test name | Executions per second |
---|---|
Javascript Array.reduce/Array.indexOf | 59695.1 Ops/sec |
object literal/res.push(arr[i]); | 371876.7 Ops/sec |
object literal/res.length | 370664.2 Ops/sec |
var itemsCount = 1e2;
var items = Array.from({ length: itemsCount }, () => Math.floor(Math.random() * itemsCount));
items.reduce((list, item) => list.indexOf(item) > -1 ? list : [list, item], []);
function unique(arr) {
var hash = {}, result = [];
for ( var i = 0, l = arr.length; i < l; ++i ) {
if ( !hash.hasOwnProperty(arr[i]) ) {
hash[ arr[i] ] = true;
result.push(arr[i]);
}
}
return result;
}
unique(items)
function unique(arr) {
var hash = {}, result = [];
for ( var i = 0, l = arr.length; i < l; ++i ) {
if ( !hash.hasOwnProperty(arr[i]) ) {
hash[ arr[i] ] = true;
result[result.length] = arr[i];
}
}
return result;
}
unique(items)