Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Flatten arrays
(version: 0)
Comparing performance of:
flatten1 vs flatten1 - true vs flatten2 vs flatten2 - true
Created:
8 years ago
by:
Guest
Jump to the latest result
Script Preparation code:
var a = [1,[2,3,[[4,5],[[6]]]],7]; var flatten1 = function(input, shallow, strict, output) { output = output || []; var idx = output.length; for (var i = 0, length = getLength(input); i < length; i++) { var value = input[i]; if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) { // Flatten current level of array or arguments object. if (shallow) { var j = 0, len = value.length; while (j < len) output[idx++] = value[j++]; } else { flatten1(value, shallow, strict, output); idx = output.length; } } else if (!strict) { output[idx++] = value; } } return output; }; function flatten2(arr, shallow = false) { return arr.reduce(function (flat, toFlatten) { return flat.concat(shallow && Array.isArray(toFlatten) ? flatten2(toFlatten) : toFlatten); }, []); }
Tests:
flatten1
flatten1(a);
flatten1 - true
flatten1(a, true);
flatten2
flatten2(a);
flatten2 - true
flatten2(a,true);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (4)
Previous results
Fork
Test case name
Result
flatten1
flatten1 - true
flatten2
flatten2 - true
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:
lodash flattenDeep vs js native
Flatten array .flat() vs destructuring
Flatten array
Dumb benchmark
Lodash flattern vs flat
Comments
Confirm delete:
Do you really want to delete benchmark?