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>
.png)
.png)
.png)
.png)
Comments
Post a Comment