Difference between toArray and makeArray in jquery

event.preventDefault() and return false

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.

Leave a Reply

Your email address will not be published. Required fields are marked *