Script Preparation code:
AخA
 
var itemsCount = 1e2;
var items = Array.from({ length: itemsCount }, () => Math.floor(Math.random() * itemsCount));
Tests:
  • Javascript Array.reduce/Array.indexOf

     
    items.reduce((list, item) => list.indexOf(item) > -1 ? list : [...list, item], []);
  • object literal/res.push(arr[i]);

     
    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)
  • object literal/res.length

     
    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)
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Javascript Array.reduce/Array.indexOf
    object literal/res.push(arr[i]);
    object literal/res.length

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 2 years ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.115 Safari/537.36
Chrome 102 on Mac OS X 10.15.7
View result in a separate tab
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