# jQuery.makeArray()

所属分类：工具类 英文文档：jQuery.makeArray()

## jQuery.makeArray( obj )返回: Array

描述: 转换一个类似数组的对象成为真正的JavaScript数组。

- #### 添加的版本: 1.2jQuery.makeArray( obj )

  - obj
    类型: PlainObject
    转换成一个原生数组的任何对象。

一般来说，无论是在jQuery和JavaScript中很多方法都返回类似数组的对象。举例来说，jQuery的代理函数`$()`返回一个jQuery对象具有许多的数组的属性。（length， `[]`数组访问运算符等），但和数组并不完全一样，缺少一些对数组的内置方法（如`.pop()`和`.reverse()`）。

请注意，转换后，任何有特殊功能的对象（如在我们的例子中jQuery方法）将不再存在。现在的对象是一个普通的数组。

## 例子:

#### Example: 将一个 HTMLElements 集合转换成对应的数组。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
    <!DOCTYPE html><html><head>  <style>  div { color:red; }  </style>  <script src="https://code.jquery.com/jquery-latest.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: 将一个 jQuery 对象转换成一个数组。

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

#### Result:

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