array.filter.unique vs new set

JavaScript performance comparison

Revision 16 of this test case created by Mihai Chereji

Preparation code


      
      <script>
Benchmark.prototype.setup = function() {
  let array = [];
  
  for (let i = 0; i < 80000; i++) {
    array.push(Math.random().toString(36).substring(3 + Math.floor(Math.random() * 10)));
  }
  
  

};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
array unique
array.filter((v, i, a) => a.indexOf(v) === i);
pending…
array unique with new array
const result = [];
array.forEach(element => {
    if (!result.includes(element)) {
        result.push(element);
    }
});
pending…
new set + spread
[...new Set(array)]
pending…
array unique with new result with for loop
const result = [];
for (let i = 0; i < array.length; i++) {
    if (!result.includes(array[i])) {
        result.push(array[i]);
    }
}
pending…
new set + array.from
Array.from(new Set(array))
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL.

0 Comments