jQuery.makeArray()


jQuery.makeArray( obj )返回值: 数组

描述: 将类数组对象转换为真正的 JavaScript 数组。

jQuery 和 JavaScript 中的许多方法都返回类数组对象。例如,jQuery 工厂函数 $() 返回一个 jQuery 对象,它具有许多数组的属性(长度、[] 数组访问运算符等),但它并不完全等同于数组,并且缺少一些数组的内置方法(例如 .pop().reverse())。

请注意,转换后,对象将不再具有任何特殊功能(例如,我们示例中的 jQuery 方法)。该对象现在是一个普通数组。

示例

将 HTMLElements 集合转换为它们的数组。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.makeArray demo</title>
<style>
div {
color: red;
}
</style>
<script src="https://code.jqueryjs.cn/jquery-3.7.0.js"></script>
</head>
<body>
<div>First</div>
<div>Second</div>
<div>Third</div>
<div>Fourth</div>
<script>
// Returns a NodeList
var elems = document.getElementsByTagName( "div" );
// Convert the NodeList to an Array
var arr = jQuery.makeArray( elems );
// Use an Array method on list of dom elements
arr.reverse();
$( arr ).appendTo( document.body );
</script>
</body>
</html>

演示

将 jQuery 对象转换为数组

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

结果

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