What is arr-flatten?
The arr-flatten npm package is a utility for flattening nested arrays into a single-level array. It is a simple and focused package that does not handle arguments other than arrays (e.g., it does not flatten array-like objects).
What are arr-flatten's main functionalities?
Flatten nested arrays
This feature allows you to flatten a deeply nested array into a single-level array. The code sample demonstrates how to use the `.flat()` method to flatten an array with multiple levels of nesting.
[1, [2, [3, [4]], 5]].flat()
Other packages similar to arr-flatten
lodash.flatten
Lodash provides a method called `flatten` that can flatten arrays up to one level deep. It is part of the larger Lodash library, which offers a wide range of utilities for working with arrays, objects, and other types. Compared to arr-flatten, lodash.flatten is part of a larger utility library and may not be as lightweight if you only need to flatten arrays.
flat
The `flat` package offers functionality to flatten arrays with additional options, such as specifying the depth to which the array should be flattened. It can also flatten array-like objects, unlike arr-flatten. This package provides more flexibility and features compared to arr-flatten, which is more minimalistic.
arr-flatten

Recursively flatten an array or arrays. This is the fastest implementation of array flatten.
Why another flatten utility? I wanted the fastest implementation I could find, with implementation choices that should work for 95% of use cases, but no cruft to cover the other 5%.
Run benchmarks
npm run benchmarks
Benchmark results comparing this library to array-flatten:
arr-flatten.js x 487,030 ops/sec ±0.67% (92 runs sampled)
array-flatten.js x 347,020 ops/sec ±0.57% (98 runs sampled)
arr-flatten.js x 1,914,516 ops/sec ±0.76% (94 runs sampled)
array-flatten.js x 1,391,661 ops/sec ±0.63% (96 runs sampled)
arr-flatten.js x 5,158,980 ops/sec ±0.85% (94 runs sampled)
array-flatten.js x 3,683,173 ops/sec ±0.79% (97 runs sampled)
Run tests
Install dev dependencies:
npm i -d && npm test
Install with npm
npm i arr-flatten --save
Install with bower
bower install arr-flatten --save
Usage
var flatten = require('arr-flatten');
flatten(['a', ['b', ['c']], 'd', ['e']]);
Author
Jon Schlinkert
License
Copyright (c) 2014-2015 Jon Schlinkert
Released under the MIT license
This file was generated by verb-cli on March 11, 2015.