Конвертация объекта в массив
Конвертирует массивоподобные объекты, в массивы. Имеет один вариант использования:
obj — объект, который будет конвертирован в массив.
Довольно часто можно встретить javascript-объекты, которые имеют характерные черты массивов (имеют свойство length, позволяют получать элементы с помощью [] и т.д.), однако не являются настоящими массивами (они могут не иметь такие методы как .pop() или например .reverse()). Функция $.makeArray() конвертирует такие объекты в настоящие массивы. Однако стоит помнить, что после преобразования, получившийся массив не будет обладать специфическими методами, находящимися в исходном объекте. Например при конвертации объекта jQuery, итоговый массив уже не будет обладать методами css(), attr() и т.д.
Пример
Поменяем порядок следования элементов на странице:
~lt~!DOCTYPE html~gt~ ~lt~html~gt~ ~lt~head~gt~ ~lt~style~gt~ div{color:red;} ~lt~/style~gt~ ~lt~script src="https://code.jquery.com/jquery-1.4.4.js"~gt~~lt~/script~gt~ ~lt~/head~gt~ ~lt~body~gt~ ~lt~div~gt~First~lt~/div~gt~ ~lt~div~gt~Second~lt~/div~gt~ ~lt~div~gt~Third~lt~/div~gt~ ~lt~div~gt~Fourth~lt~/div~gt~ ~lt~script~gt~ var elems = document.getElementsByTagName("div"); // возвратит список DOM-элементов (представленный массивоподобным объектом) var arr = jQuery.makeArray(elems); // конвертируем в массив arr.reverse(); // изменяем порядок следования элементов $(arr).appendTo(document.body); // добавим "переставленные" элементы на страницу ~lt~/script~gt~ ~lt~/body~gt~ ~lt~/html~gt~