makearray(),转换一个类似数组的对象成为真正的JavaScript数组。首先看看jquery中array的定义
makeArray: function( arr, results ) { var ret = results || []; if ( arr != null ) { if ( isArraylike( Object(arr) ) ) { jQuery.merge( ret, typeof arr === "string" ? [ arr ] : arr ); } else { push.call( ret, arr ); } } return ret; }
在官方API举例如下:
将一个 HTMLElements 集合转换成对应的数组。将一个DIV集合转成成了数组
<html> <head> <style> div { color:red; } </style> <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.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); console.log(arr); </script> </body> </html>
将对象转换成数组,这个转换好粗暴
将一个 jQuery 对象转换成一个数组。 1 2 var obj = $(‘li‘); var arr = $.makeArray(obj); Result: 1 2 (typeof obj === ‘object‘ && obj.jquery) === true; jQuery.isArray(arr) === true;
时间: 2025-01-17 20:18:28