Home > Web Front-end > JS Tutorial > body text

How to convert JavaScript iterator to array?

王林
Release: 2023-09-16 20:57:03
forward
962 people have browsed it

如何将 JavaScript 迭代器转换为数组?

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.

Use for-of loop

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.

grammar

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);
}
Copy after login

In the above syntax, we access the elements of the iterator in the for-of loop and push it to the array

Example 1

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>
Copy after login

Use array.from() method

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.

grammar

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); 
Copy after login

In the above syntax, test_set is an iterator to be converted to an array.

parameter

test_set – It is an iterator to be converted to an array.

Example 2

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>
Copy after login

Use spread operator

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.

grammar

Users can use the spread operator to convert the iterator into an array according to the following syntax

let array = [...test_map]; 
Copy after login

In the above syntax, test_map is an iterator.

Example 3

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>
Copy after login

Example 4

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>
Copy after login

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!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!