Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
_.uniqueBy vs Set vs Map
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/139.0.0.0 Safari/537.36
Browser:
Chrome 139
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
8 months ago
Test name
Executions per second
uniqBy
1827758.9 Ops/sec
Set
1621589.9 Ops/sec
Map
1551427.6 Ops/sec
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
var MyArr = Array.from( { length: 40, }, () => { return { a: Math.floor(Math.random() * 40), }; } ); var myCopy = null;
Tests:
uniqBy
myCopy = _.uniqBy(MyArr, (obj) => obj.a);
Set
const seen = new Set(); myCopy = MyArr.filter(item => { if (seen.has(item.a)) { return false; } seen.add(item.a); return true; });
Map
const seen = new Map(); myCopy = MyArr.filter(item => { if (seen.has(item.a)) { return false; } seen.set(item.a, true); return true; });