jQuery toArray and makeArray both are the useful function to build with the transforming. The jQuery toArray() transforms jQuery element set to javaScript Array, jQuery.makeArray() transforms any array like object to JavaScript Array.
Let’s see the difference between toArray and makeArray in jQuery.
The jQuery toArray() method returns the elements contained in the jQuery selector as an array.
jQuery('.className').toArray() -> [ dom_el_1, dom_el_2, dom_el_3, ... ]
But jQuery.makeArray(), which is a “static method” on jQuery object, Convert an array-like object into a true JavaScript array.
var elems = document.getElementsByTagName("div"); var arr = jQuery.makeArray(elems); arr.reverse(); // use an Array method on list of dom elements $(arr).appendTo(document.body);
Read more about jQuery.makeArray() from jQuery reference.
jquery toArray() method is DOM Element Methods and you can only used it on dom elements whereas makeArray(object) can be used on your custom objects.
So, toArray is a method on jQuery Object i.e. a wrapper around a set of DOM elements. Actually, this method extracts members of this set of DOM elements to javascript Array.
Read Also: Differences Between jQuery .bind() vs .live() vs .delegate() vs .on()
Suppose you have an object:
function User(name,age) { this.name = name; this.age = age; } var obj=new User('John',18);
Now,
jQuery.makeArray(obj).length; //would return 1 obj.toArray().length; //through the error function not defined obj.length; //return undefined
Read more jquery toArray() about from jQuery reference.
Based on United States, Jacob Frazier is a skilled JavaScript developer with over 8 years of experience. He is passionate about change and trying new things, both professionally and personally. He loves startups and is extremely proactive.