Preface
In Web development, jQuery, an excellent JavaScript library, is often used to operate the Document Object Model (DOM). jQuery provides a series of functions to simplify our operations, such as selecting elements, adding events, etc. However, when operating with jQuery, we sometimes need to convert jQuery objects into JavaScript arrays or object arrays. Because in some cases, we need to traverse the elements in the jQuery object and modify them.
This article mainly introduces how jQuery objects are converted into arrays and object arrays, and provides some practical application scenarios for readers' reference.
Convert jQuery object to array
In jQuery, you can use the toArray() function to convert jQuery object to array. This function will convert all elements in the jQuery object into a JavaScript array and return the array.
For example, suppose we have the following HTML fragment:
<ul id="myList"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul>
We can use the following code to get all the li elements in this page:
var $myList = $('#myList'); var $myListItems = $myList.find('li'); // 获取所有的li元素
Now, $myListItems is a jQuery object. We can use the console.log() function to view its content:
console.log($myListItems);
In the console, you can see the output as follows:
[li, li, li]
This output indicates that $myListItems is a A jQuery object containing three li elements, we can convert it to a JavaScript array using the toArray() function:
var myListItemsArray = $myListItems.toArray();
Now, myListItemsArray is a JavaScript array containing three li elements.
Convert jQuery object to object array
In addition to converting jQuery object to JavaScript array, we also sometimes need to convert it to object array. To achieve this goal, we can use the map() function. The map() function will iterate through the jQuery object and execute a callback function on each element, then combine the return value of each element into a new array and return that array.
Consider a practical example below. Suppose we have a JSON object containing user data as shown below:
var users = [ {"id": 1, "name": "Alice", "age": 23}, {"id": 2, "name": "Bob", "age": 27}, {"id": 3, "name": "Charlie", "age": 31}, {"id": 4, "name": "David", "age": 19}, {"id": 5, "name": "Emma", "age": 25}, {"id": 6, "name": "Frank", "age": 36}, {"id": 7, "name": "Grace", "age": 32}, {"id": 8, "name": "Henry", "age": 41}, {"id": 9, "name": "Ivy", "age": 28} ];
Now, we need to create an HTML list containing user names and ages based on this data. We can use jQuery to create this list:
var $userList = $('<ul>'); $(users).map(function(index, user) { var $userListItem = $('<li>'); $userListItem.text(user.name + ' (' + user.age + ')'); $userList.append($userListItem); });
Now, we have created a list containing user data. We can add this list element to the document:
$('body').append($userList);
In this example, we use the map() function to convert the user data into an array of objects, and then create an HTML list containing the user information.
Summary
This article explains how to convert jQuery objects to JavaScript arrays and object arrays. We can convert jQuery objects into JavaScript arrays using the toArray() function and convert jQuery objects into object arrays using the map() function. These techniques are useful when dealing with common problems in web development, such as traversing and modifying DOM elements and processing JSON data.
The above is the detailed content of jquery object to array object array. For more information, please follow other related articles on the PHP Chinese website!