Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
lodash flatten vs array.flatMap
lodash flatten vs native array flatMap
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 OPR/106.0.0.0
Browser:
Opera 106
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
flatMap
16677.5 Ops/sec
lodash flatten
13019.3 Ops/sec
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Tests:
flatMap
const data = [ [{ id: 1 }, { id: 2 }], [{ id: 3 }, { id: 4 }], [{ id: 5 }, { id: 6 }], [{ id: 7 }, { id: 8 }], [{ id: 9 }, { id: 10 }], [{ id: 11 }, { id: 12 }], [{ id: 13 }, { id: 14 }], [{ id: 15 }, { id: 16 }], [{ id: 17 }, { id: 18 }], [{ id: 19 }, { id: 20 }], [{ id: 21 }, { id: 22 }], [{ id: 23 }, { id: 24 }], [{ id: 25 }, { id: 26 }], [{ id: 27 }, { id: 28 }], [{ id: 29 }, { id: 30 }], [{ id: 31 }, { id: 32 }], [{ id: 33 }, { id: 34 }], [{ id: 35 }, { id: 36 }], [{ id: 37 }, { id: 38 }], [{ id: 39 }, { id: 40 }] ]; // Transformation function const transform = obj => ({ id: obj.id + 10 }); // Using JavaScript native flatMap const transformedAndFlattened = data.flatMap(subArray => subArray.map(transform)); console.log(transformedAndFlattened);
lodash flatten
const data = [ [{ id: 1 }, { id: 2 }], [{ id: 3 }, { id: 4 }], [{ id: 5 }, { id: 6 }], [{ id: 7 }, { id: 8 }], [{ id: 9 }, { id: 10 }], [{ id: 11 }, { id: 12 }], [{ id: 13 }, { id: 14 }], [{ id: 15 }, { id: 16 }], [{ id: 17 }, { id: 18 }], [{ id: 19 }, { id: 20 }], [{ id: 21 }, { id: 22 }], [{ id: 23 }, { id: 24 }], [{ id: 25 }, { id: 26 }], [{ id: 27 }, { id: 28 }], [{ id: 29 }, { id: 30 }], [{ id: 31 }, { id: 32 }], [{ id: 33 }, { id: 34 }], [{ id: 35 }, { id: 36 }], [{ id: 37 }, { id: 38 }], [{ id: 39 }, { id: 40 }] ]; // Transformation function const transform = obj => ({ id: obj.id + 10 }); // Using lodash map and flatten const transformedAndFlattened = _.flatten(data.map(subArray => subArray.map(transform))); console.log(transformedAndFlattened);