jQuery.makeArray( obj )Возвращает: Массив
Описание: Преобразовать объект-подобный массиву в настоящий массив JavaScript.
-
версия добавлена: 1.2jQuery.makeArray( obj )
- objТип: Простой объектЛюбой объект, который нужно преобразовать в обычный массив.
-
Многие методы, как в jQuery, так и в JavaScript в целом, возвращают объекты, подобные массивам. Например, функция-конструктор jQuery $() возвращает объект jQuery, который обладает многими свойствами массива (длина, оператор доступа к элементам массива [], и т.д.), но не является массивом и лишен некоторых встроенных методов массива (таких как .pop() и .reverse()).
Обратите внимание, что после преобразования любые особые функции объекта (например, методы jQuery в нашем примере) больше не будут присутствовать. Объект теперь является обычным массивом.
Примеры:
Преобразовать коллекцию элементов HTML в массив элементов.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.makeArray demo</title>
<style>
div {
color: red;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<div>First</div>
<div>Second</div>
<div>Third</div>
<div>Fourth</div>
<script>
// Returns a NodeList
var elems = document.getElementsByTagName( "div" );
// Convert the NodeList to an Array
var arr = jQuery.makeArray( elems );
// Use an Array method on list of dom elements
arr.reverse();
$( arr ).appendTo( document.body );
</script>
</body>
</html> Демо:
Преобразовать объект jQuery в массив
var obj = $( "li" ); var arr = $.makeArray( obj );
Результат:
( typeof obj === "object" && obj.jquery ) === true; jQuery.isArray( arr ) === true;