mirror of
https://github.com/thangisme/notes.git
synced 2024-11-01 01:37:37 -04:00
73 lines
1.8 KiB
Markdown
73 lines
1.8 KiB
Markdown
|
# arr-flatten [![NPM version](https://badge.fury.io/js/arr-flatten.svg)](http://badge.fury.io/js/arr-flatten) [![Build Status](https://travis-ci.org/jonschlinkert/arr-flatten.svg)](https://travis-ci.org/jonschlinkert/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
|
||
|
|
||
|
```bash
|
||
|
npm run benchmarks
|
||
|
```
|
||
|
|
||
|
Benchmark results comparing this library to [array-flatten]:
|
||
|
|
||
|
```bash
|
||
|
#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:
|
||
|
|
||
|
```bash
|
||
|
npm i -d && npm test
|
||
|
```
|
||
|
|
||
|
## Install with [npm](npmjs.org)
|
||
|
|
||
|
```bash
|
||
|
npm i arr-flatten --save
|
||
|
```
|
||
|
### Install with [bower](https://github.com/bower/bower)
|
||
|
|
||
|
```bash
|
||
|
bower install arr-flatten --save
|
||
|
```
|
||
|
|
||
|
|
||
|
## Usage
|
||
|
|
||
|
```js
|
||
|
var flatten = require('arr-flatten');
|
||
|
|
||
|
flatten(['a', ['b', ['c']], 'd', ['e']]);
|
||
|
//=> ['a', 'b', 'c', 'd', 'e']
|
||
|
```
|
||
|
|
||
|
## Author
|
||
|
|
||
|
**Jon Schlinkert**
|
||
|
|
||
|
+ [github/jonschlinkert](https://github.com/jonschlinkert)
|
||
|
+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
|
||
|
|
||
|
## License
|
||
|
Copyright (c) 2014-2015 Jon Schlinkert
|
||
|
Released under the MIT license
|
||
|
|
||
|
***
|
||
|
|
||
|
_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on March 11, 2015._
|
||
|
|
||
|
[array-flatten]: https://github.com/blakeembrey/array-flatten
|