Symbol.iterator
iterator का use array , string , object के एक या एक से अधिक value को access करने के लिए किया जाता है
Note :- iterator का use हमेसा symbol data के साथ किया जाता है।
Q. What is the benfit of Symbol.itertor ?
चुकी हमलोग जानते हैं की array , string , object के value कुछ loop ( जैसे की for , for in , for of ) loop का use करके सभी value का access कर सकते हैं लकिन जब हमें इसके किसी specfic singale value को access करना हो तो हम इसे access नहीं कर सकते हैं।
जबकि iterator का use करके इन सबके (array , string , object ) सभी value या specfic singale value को भी access कर सकते हैं
Syntax 1: for create Symbol.iterator:
ArrayName[symboll.iterator]()
Syntax 2: for access iterator:
ArrayName.next()
Example 1 : Symboll.iterator (Mix)
<script>
let basket = ["Apple", "mango", "Guava"];
for(let x of basket){
console.log(x)
}
console.log(basket);
//1. create Symbol iteralor
console.log(Symbol.iterator);
console.log(typeof Symbol.iterator);
//2. use symbol iterator with array
console.log(basket[Symbol.iterator])
console.log(typeof basket[Symbol.iterator])
//3. convert iterator object
console.log(basket[Symbol.iterator]())
console.log(typeof basket[Symbol.iterator]())
//4. Access Array value by array iteraor
let myitr = basket[Symbol.iterator]();
console.log(myitr.next().value)
console.log(myitr.next().value)
console.log(myitr.next().value)
</script>
Example 2 : Symboll.iterator create and access
<script>
let basket = ["Apple", "mango", "Guava"];
let myitr = basket[Symbol.iterator]();
console.log(myitr.next().value)
console.log(myitr.next().value)
console.log(myitr.next().value)
</script>
Example 3 : Symboll.iterator with loop
<script>
let basket = ["Apple", "mango", "Guava"];
for(let x of myitr){
console.log(x)
}
</script>