# jQuery.makeArray()

Categories: Utilities

## jQuery.makeArray( obj ) Returns: Array

Description: Convert an array-like object into a true JavaScript array.

- #### version added: 1.2jQuery.makeArray( obj )

  objAny object to turn into a native Array.

Many methods, both in jQuery and in JavaScript in general, return objects that are array-like. For example, the jQuery factory function `$()` returns a jQuery object that has many of the properties of an array (a length, the `[]` array access operator, etc.), but is not exactly the same as an array and lacks some of an array's built-in methods (such as `.pop()` and `.reverse()`).

Note that after the conversion, any special features the object had (such as the jQuery methods in our example) will no longer be present. The object is now a plain array.

### Examples:

#### Example: Turn a collection of HTMLElements into an Array of them.

    <!DOCTYPE html>
    <html>
    <head>
      <style>
      div { color:red; }
      </style>
      <script src="http://code.jquery.com/jquery-1.7rc2.js"></script>
    </head>
    <body>
      <div>First</div>
      <div>Second</div>
      <div>Third</div>

      <div>Fourth</div>
    <script>
        var elems = document.getElementsByTagName("div"); // returns a nodeList
        var arr = jQuery.makeArray(elems);
        arr.reverse(); // use an Array method on list of dom elements
        $(arr).appendTo(document.body);
    </script>

    </body>
    </html>

#### Demo:

#### Example: Turn a jQuery object into an array

        var obj = $('li');
        var arr = $.makeArray(obj);

#### Result:

    (typeof obj === 'object' && obj.jquery) === true;
    jQuery.isArray(arr) === true;