How to use Iterator Protocol with Custom Class In Javascript
The iterator protocol is implemented using a custom class, which is used to iterate over the array and skipping empty values by controlling the next
method.
Example: The below code is practical implementation of the above-discussed approach to create iterator.
Javascript
class SkipEmptyValuesIterator { constructor(array) { this .array = array; } [Symbol.iterator]() { let currentIndex = 0; const arrayLength = this .array.length; return { next: () => { while (currentIndex < arrayLength) { const currentValue = this .array[currentIndex++]; if (currentValue !== '' ) { return { value: currentValue, done: false }; } } return { done: true }; } }; } } const myArray = [ 'GFG' , '' , 3, '' , 'JavaScript' ]; const iterator = new SkipEmptyValuesIterator(myArray); for (let value of iterator) { console.log(value); } |
Output
GFG 3 JavaScript
How to Create Custom Iterator that Skips Empty Value in JavaScript ?
Iterators are important concepts in the world of programming. They allow developers to traverse and manipulate collections of data more efficiently and flexibly. JavaScript, being a high-level programming language, also supports iterators. You can even create a custom iterator that skips the empty values using the below methods:
Table of Content
- Using Generator Function
- Using Array.prototype.filter and Symbol.iterator
- Using Iterator Protocol with Custom Class
- Using Array.prototype.entries and Symbol.iterator
- Using Array.prototype.reduce and Symbol.iterator