Run details:
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
Chrome 139
Mac OS X 10.15.7
Desktop
11 months ago
myCopy = _.uniqBy(MyArr, (obj) => obj.a);
1.5M/s
const seen = new Set(); myCopy = MyArr.filter(item => { if (seen.has(item.a)) { return false; } seen.add(item.a); return true; });
1.5M/s
const seen = new Map(); myCopy = MyArr.filter(item => { if (seen.has(item.a)) { return false; } seen.set(item.a, true); return true; });
1.4M/s
View exact numbers
Test name Executions per second
myCopy = _.uniqBy(MyArr, (obj) => obj.a); 1,522,941 Ops/sec
const seen = new Set(); myCopy = MyArr.filter(item => { if (seen.has(item.a)) { return false; } seen.add(item.a); return true; }); 1,488,106 Ops/sec
const seen = new Map(); myCopy = MyArr.filter(item => { if (seen.has(item.a)) { return false; } seen.set(item.a, true); return true; }); 1,397,780 Ops/sec
HTML Preparation code:
Script Preparation code:
Tests: