Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
duplicate removing
(version: 6)
Comparing performance of:
map & filter vs Map vs reduce vs for
Created:
7 years ago
by:
Registered User
Jump to the latest result
Tests:
map & filter
const polygon = [ { lat: 1, lng: 2 }, { lat: 11, lng: 20 }, { lat: 12, lng: 2 }, { lat: 12, lng: 2 }, ]; polygon.map(({ lat, lng }) => ([lat, lng])) .filter((curr, idx, arr) => { if (idx) { const prev = arr[idx - 1]; return curr[0] !== prev[0] || curr[1] !== prev[1]; } return true; });
Map
const points = new Map(); const polygon = [ { lat: 1, lng: 2 }, { lat: 11, lng: 20 }, { lat: 12, lng: 2 }, { lat: 12, lng: 2 }, ]; polygon.forEach(({ lat, lng }) => points.set(`${String(lat)}${String(lng)}`, [lat, lng]));
reduce
const polygon = [ { lat: 1, lng: 2 }, { lat: 11, lng: 20 }, { lat: 12, lng: 2 }, { lat: 12, lng: 2 }, ]; return polygon .reduce((acc, curr, index, polygon) => { const { lat, lng } = curr; if (index) { const prev = polygon[index - 1]; if (lat !== prev.lat || lng !== prev.lng) { acc.push([ lat, lng ]); } } acc.push([ lat, lng ]); return acc; }, []);
for
const polygon = [ { lat: 1, lng: 2 }, { lat: 11, lng: 20 }, { lat: 12, lng: 2 }, { lat: 12, lng: 2 }, ]; const polygonWithUniqPoints = [polygon[0]]; for(let i = 1; i < polygon.length; i++) { const { lat, lng } = polygon[i]; const prev = polygon[i - 1]; if (lat !== prev.lat || lng !== prev.lng) { polygonWithUniqPoints.push([ lat, lng ]); } } return polygonWithUniqPoints;
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (4)
Previous results
Fork
Test case name
Result
map & filter
Map
reduce
for
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Related benchmarks:
Array duplicate removal for duplicates exceeding `N`-number
Array duplicate removal for duplicates exceeding `N`-number
Array duplicate removal for duplicates exceeding `N`-number
Array duplicate removal for duplicates exceeding `N`-number
Remove by splice vs copyWithin vs filter vs delete
Comments
Confirm delete:
Do you really want to delete benchmark?