jQuery функция $.makeArray()
Определение и применение
jQuery функция $.makeArray() позволяет преобразовать массивоподобный объект в JavaScript массив.
Многие методы, как в jQuery, так и в JavaScript в целом, возвращают объекты, подобные массиву. Например, фабричная функция $() возвращает объект jQuery, который имеет много общего с массивами (свойства, оператор доступа к массиву []), но при этом не совсем то же самое, что массив, и не имеет некоторых встроенных методов массива (например, таких как pop() и reverse()).
jQuery синтаксис:
$.makeArray( obj )obj - PlainObject
Добавлен в версии jQuery
1.2Значения параметров
| Параметр | Описание |
|---|---|
| obj | Любой объект для преобразования в JavaScript массив. |
Пример использования
Пример использования jQuery функции $.makeArray()
Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.
index.html
<button>Reverse</button>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
main.js
$(document).ready(function () {
$('button').click(function () {
// Возвращаем коллекцию NodeList
const elems = document.getElementsByTagName('li')
// Преобразуем NodeList в Array
const arr = $.makeArray(elems)
// изменяем порядок следования элементов массива (первый элемент массива становится последним, а последний элемент первым)
arr.reverse()
// вставляем содержимое в конец целевого элемента ul
$(arr).appendTo('ul')
})
})
Нажмите ▶, чтобы запустить пример.
В этом примере с использованием jQuery метода
.click()
мы при нажатии на элемент
<button>
(кнопка) вызываем функцию, которая:
-
С помощью JavaScript метода
getElementsByTagName()
выбирает все элементы
<li>в документе. Метод возвращает коллекцию элементовHTMLCollection, которой мы инициализируем переменную. - С использованием jQuery функции $.makeArray() мы преобразуем нашу переменную (массивоподобный объект) в JavaScript массив.
- С помощью JavaScript метода reverse() изменяем порядок следования элементов массива (первый элемент массива становится последним, а последний элемент первым).
-
С помощью jQuery метода
.appendTo()
вставляем это значение в элемент
<ul>(маркированный список), в результате чего порядок элементов будет изменен.