Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Set vs Filter vs forEach vs forLoop vs filterWithSet vs map for unique
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Browser:
Chrome 121
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
Set spread
1260067.0 Ops/sec
Array from set
1219769.0 Ops/sec
Filter
482699.2 Ops/sec
Basic forEach
3242681.5 Ops/sec
for loop
290698.3 Ops/sec
filterWithSet
1750384.8 Ops/sec
Script Preparation code:
var array = Array.from({length: 40}, () => Math.floor(Math.random() * 140));
Tests:
Set spread
const f = [... new Set(array)]
Array from set
const s = new Set(array) const l = Array.from(s)
Filter
const b = array.filter((i,index) => array.indexOf(i)=== index)
Basic forEach
const set = {} array.forEach(val => set.hasOwnProperty(val) ? set[val] = true : '') const b = Object.keys(set)
for loop
const set = {} for(var i = 0, l = array.length; i < l; i++){ if(!set.hasOwnProperty(array[i])) set[array[i]] = true } const b = Object.keys(set)
filterWithSet
const set = {} const b = array.filter((val) => { if(!set.hasOwnProperty(val)) { set[val] = true return true } return false })