|  | concat-map | 
|  | ========== | 
|  |  | 
|  | Concatenative mapdashery. | 
|  |  | 
|  | [](http://ci.testling.com/substack/node-concat-map) | 
|  |  | 
|  | [](http://travis-ci.org/substack/node-concat-map) | 
|  |  | 
|  | example | 
|  | ======= | 
|  |  | 
|  | ``` js | 
|  | var concatMap = require('concat-map'); | 
|  | var xs = [ 1, 2, 3, 4, 5, 6 ]; | 
|  | var ys = concatMap(xs, function (x) { | 
|  | return x % 2 ? [ x - 0.1, x, x + 0.1 ] : []; | 
|  | }); | 
|  | console.dir(ys); | 
|  | ``` | 
|  |  | 
|  | *** | 
|  |  | 
|  | ``` | 
|  | [ 0.9, 1, 1.1, 2.9, 3, 3.1, 4.9, 5, 5.1 ] | 
|  | ``` | 
|  |  | 
|  | methods | 
|  | ======= | 
|  |  | 
|  | ``` js | 
|  | var concatMap = require('concat-map') | 
|  | ``` | 
|  |  | 
|  | concatMap(xs, fn) | 
|  | ----------------- | 
|  |  | 
|  | Return an array of concatenated elements by calling `fn(x, i)` for each element | 
|  | `x` and each index `i` in the array `xs`. | 
|  |  | 
|  | When `fn(x, i)` returns an array, its result will be concatenated with the | 
|  | result array. If `fn(x, i)` returns anything else, that value will be pushed | 
|  | onto the end of the result array. | 
|  |  | 
|  | install | 
|  | ======= | 
|  |  | 
|  | With [npm](http://npmjs.org) do: | 
|  |  | 
|  | ``` | 
|  | npm install concat-map | 
|  | ``` | 
|  |  | 
|  | license | 
|  | ======= | 
|  |  | 
|  | MIT | 
|  |  | 
|  | notes | 
|  | ===== | 
|  |  | 
|  | This module was written while sitting high above the ground in a tree. |