Конвертация объекта в массив

Материал из JQuery

Перейти к: навигация, поиск
$.makeArray()

Конвертирует массивоподобные объекты, в массивы. Имеет один вариант использования:

$.makeArray(obj):array1.2

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="http://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~

Ссылки

Поисковые ключи:
  • конвертация объектов в массив
  • конвертировать объект в массив
  • .makeArray()
  • makeArray()