Loading Please Wait...
Iterable objects are objects that can be iterated over with for..of.
Technically, iterables must implement the Symbol.iterator method.
You can use a for..of loop to iterate over the elements of a string.
for (const x of "Lynxsia") {
// code block to be executed
}
You can use a for..of loop to iterate over the elements of an Array.
for (const x of [1,2,3,4,5]) {
// code block to be executed
}
The iterator protocol defines how to produce a sequence of values from an object.
An object becomes an iterator when it implements a next() method.
The next() method must return an object with two properties.
This iterable returns never ending: 10,20,30,40,.... Everytime next() is called.
// Home Made Iterable
function myNumbers() {
let n = 0;
return {
next: function() {
n += 10;
return {value:n, done:false};
}
};
}
// Create Iterable
const n = myNumbers();
n.next(); // Returns 10
n.next(); // Returns 20
n.next(); // Returns 30
A JavaScript iterable is an object that has a Symbol.iterator.
The Symbol.iterator is a function that returns a next() function.
An iterable can be iterated over with the code: for (const x of iterable) { }
// Create an Object
myNumbers = {};
// Make it Iterable
myNumbers[Symbol.iterator] = function() {
let n = 0;
done = false;
return {
next() {
n += 10;
if (n == 100) {done = true}
return {value:n, done:done};
}
};
}
Now you can use for..of.
for (const num of myNumbers) {
// Any Code Here
}
The Symbol.iterator method is called automatically by for..of. But we can also do it "manually"
let iterator = myNumbers[Symbol.iterator]();
while (true) {
const result = iterator.next();
if (result.done) break;
// Any Code Here
}
How you feel about this blog:
Share this blog on:
If you find any error in the turtorials, or want to share your suggestion/feedback, feel free to send us email at: info@lynxsia.com
Contact UsWe are concern with various development process like website design & development, E-commerce development, Software development, Application development, SMS & Bulk SMS Provider, PWA Development, and many more..
Copyright ©
, Lynxsia IT Solutions, All rights reserved