| [](http://badge.fury.io/js/make-array) | |
| [](https://travis-ci.org/kaelzhang/make-array) | |
| # make-array | |
| Creates a real Array from almost anything. | |
| ## Install | |
| ```bash | |
| $ npm i make-array --save | |
| ``` | |
| ## Usage | |
| ```js | |
| var makeArray = require('make-array'); | |
| makeArray(); // [] | |
| makeArray(undefined); // [] | |
| makeArray(null); // [] | |
| makeArray(1); // [1] | |
| makeArray([1, 2]); // [1, 2] | |
| makeArray({ | |
| '0': 1, | |
| '1': 2, | |
| length: 2 | |
| }); // [1, 2] | |
| function foo (){ | |
| return makeArray(arguments); | |
| } | |
| foo(1, 2, 3); // [1, 2, 3] | |
| ``` | |
| ### makeArray(subject, [host]) | |
| - subject `mixed` things you want to make it an array | |
| - host `Array=` if `host` is specified, the newly-created array will append to the end of the `host` | |
| Returns `Array`. If `host` is specified, it will return the `host` itself. | |
| ```js | |
| var host = [1, 2]; | |
| function foo(){ | |
| return arguments; | |
| } | |
| var result = makeArray(foo({}, []), host); | |
| result; // [1, 2, {}, []]; | |
| result === host; // true | |
| ``` | |
| ## Changelog | |
| **1.0.0**: bump version to mark it as stable. | |
| ## License | |
| MIT | |
| <!-- do not want to make nodeinit to complicated, you can edit this whenever you want. --> |