Recursively flatten an array or arrays. This is the fastest implementation of array flatten.
JavaScript
Latest commit 7b3706e Mar 11, 2015 @jonschlinkert lint
Permalink
Failed to load latest commit information.
benchmark update benchmarks Jan 20, 2015
.editorconfig lint Mar 11, 2015
.gitattributes lint Mar 11, 2015
.gitignore lint Mar 11, 2015
.jshintrc lint Mar 11, 2015
.travis.yml lint Mar 11, 2015
.verb.md lint Mar 11, 2015
LICENSE lint Mar 11, 2015
README.md lint Mar 11, 2015
bower.json v0.2.1 Nov 9, 2014
index.js lint Mar 11, 2015
package.json lint Mar 11, 2015
test.js lint Mar 11, 2015

README.md

arr-flatten NPM version Build Status

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:

#1: large.js
  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)

#2: medium.js
  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)

#3: small.js
  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']]);
//=> ['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.