| [](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. --> |