標籤:
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 對象轉換成一個數組。12 var obj = $(‘li‘); var arr = $.makeArray(obj);Result:12(typeof obj === ‘object‘ && obj.jquery) === true;jQuery.isArray(arr) === true;
jquery makearray()使用