Home > Article > Web Front-end > How to convert JavaScript iterator to array?
In JavaScript, an iterator is a collection of elements through which we can iterate and access a single element in each iteration. Collections, maps or objects are iterators in JavaScript and we cannot access the elements of iterators using indexes like we can with arrays.
So, we first need to convert the iterator to an array. Here we will convert iterator to array using different methods like array.from() etc.
for-of loops over each element of the iterator lies collection and map. In the for-of loop we can access and add elements to the array and we can use push() method to add elements to the array.
Users can use the for-of loop to convert the iterator into an array according to the following syntax.
for (let element of iterator) { array.push(element); }
In the above syntax, we access the elements of the iterator in the for-of loop and push it to the array
In the example below, we create test_array and initialize it with some numbers. After that, we use Symbol.iterator() to convert the array into an iterator.
Next, we use a for-of loop to iterate over the iterator. We access all the elements of the iterator one by one and push them into the array. Once all iterations of the for loop are completed, we get the complete array of iterators.
<html> <body> <h2>Using the <i> for loop </i> to transform JavaScript iterator into the array</h2> <div id = "output"> </div> </body> <script> let output = document.getElementById('output'); let test_array = [10, 20, 30, 0, 50, 60, 70]; let iterator = test_array[Symbol.iterator](); let array = []; for (let element of iterator) { array.push(element); output.innerHTML += "Array element is - " + element + "<br>"; } output.innerHTML += "The whole array is - " + array; </script> </html>
The Array.from() method creates an array from an iterator. We need to pass the iterator object as parameter of array.from() method. After converting the iterator to an array, it returns an array.
Users can use the array.from() method according to the following syntax to convert the iterator to an array.
let array = Array.from(test_set);
In the above syntax, test_set is an iterator to be converted to an array.
test_set – It is an iterator to be converted to an array.
In the example below, we create a collection using various elements. After that, we convert the collection into an array using the array.from() method. In the output, the user can see the array returned from the array.from() method.
<html> <body> <h2>Using the <i> Array.from() method </i> to transform JavaScript iterator into the array.</h2> <div id = "output"> </div> </body> <script> let output = document.getElementById('output'); let test_set = new Set(["Hello", "Hello", "Hi", 10, 10, 20, 30, 40, 40, true, false, true, true]); let array = Array.from(test_set); output.innerHTML += "The array from the test_set is " + array; </script> </html>
The spread operator also allows us to convert iterators to arrays like the array.from() method. It copies all elements of the iterator into a new array. Additionally, we can use it to clone arrays.
Users can use the spread operator to convert the iterator into an array according to the following syntax
let array = [...test_map];
In the above syntax, test_map is an iterator.
In the example below, we create a map with unique keys and values. We can access specific values from the map using keys.
We have used the spread operator to convert test_map to an array. In the output, the user can see that each key and value of the map has been added to the array
<html> <body> <h2>Using the <i> Spread operator </i> to transform JavaScript iterator into the array.</h2> <div id = "output"> </div> </body> <script> let output = document.getElementById('output'); var test_map = new Map([["first", true], ["second", false], ["third", false], ["fourth", true]]); let array = [...test_map]; output.innerHTML += "The array from the test_map is " + array; </script> </html>
In this example, we convert the collection iterator to an array. The new Set() constructor is used to create sets from numeric, boolean and string elements.
After that, we use the spread operator to convert the collection iterator into an array.
<html> <body> <h2>Using the <i> Spread operator </i> to transform JavaScript iterator into the array.</h2> <div id="output"> </div> </body> <script> let output = document.getElementById('output'); let set = new Set([30, 40, "TypeScript", "JavaScript"]) let array = [...set] output.innerHTML += "The array from the object is " + array; </script> </html>
In this tutorial, we looked at three different ways to convert an iterator into an array. The best way is to use the spread operator as it also provides another functionality like cloning an array.
The above is the detailed content of How to convert JavaScript iterator to array?. For more information, please follow other related articles on the PHP Chinese website!