Iterators tutorial in Advance JavaScript

 <!DOCTYPE html>

<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Iterators Advance JavaScript</title>
    <link rel="stylesheet" href="">
</head>

<body>
    <script>
        //Example 1 :
        let numbers = [100, 200, 300, 400, 500];
        console.log(typeof numbers[Symbol.iterator]);

        let iter = numbers[Symbol.iterator]();
        console.log(iter);
        console.log(iter.next());   //When next value is present then in output(console), "done: false" will show
        // console.log(iter.next().value); //We can print direct value
        console.log(iter.next());
        console.log(iter.next());
        console.log(iter.next());   //When next value is not present then in output(console), "done: true" will show

        let result = iter.next();
        while (!result.done) {
            console.log(result.value);
            result = iter.next();
        }

        //Example 2 :
        let str = "Hello World";
        let iterTwo = str[Symbol.iterator]();
        let resultTwo = iterTwo.next();
        while (!resultTwo.done) {
            console.log(resultTwo.value);
            resultTwo = iterTwo.next();
        }

        //We can also use for..of loop for above Example
        for (var char of str) {
            console.log(char);
        }

        //Example 3 : Creating User defined Iterator Function and take Control in our Hand as shown below :
        function numberIterator(arr) {
            var nextNum = 0;
            return {
                next() {
                    if (nextNum < arr.length) {
                        return {
                            value: arr[nextNum++],
                            done: false
                        }
                    }
                    else {
                        return {
                            done: true
                        }
                    }
                }
            }
        }

        let numbersTwo = [100, 200, 300, 400, 500];
        let num = numberIterator(numbersTwo);
        console.log(num.next());
        num.next();
        console.log(num.next());
        console.log(num.next().value);
        console.log(num.next());
        console.log(num.next());
    </script>
</body>

</html>




Comments

Popular posts from this blog

Generators tutorial in Advance JavaScript

Document Object Module DOM querySelector and querySelectorAll tutorial in JavaScript

Find Even and Odd Numbers with Loops tutorial in JavaScript