The enumerate function in Javascript
- Time:2020-09-16 12:48:17
- Class:Weblog
- Read:42
In Python, the enumerate function is an iterator that returns/yield each time a tuple that contains an index (starting from 0 and incrementing) and the element in the list.
In Javascript, we can implement the enumerate function using the iterator and the yield keyword (the asteroid star immediate after function keyword indicates that the function should return an iterator via the yield keyword).
1 2 3 4 5 | function *enumerate(array) { for (let i = 0; i < array.length; i += 1) { yield [i, array[i]]; } } |
function *enumerate(array) { for (let i = 0; i < array.length; i += 1) { yield [i, array[i]]; } }
Since Javascript does not have a Tuple-type, but we can use array anyway. We can use the defined enumerate function like below:
1 2 3 4 | const list = ['a', 'b', 'c']; for (let x of enumerate(list)) { console.log(x); } |
const list = ['a', 'b', 'c']; for (let x of enumerate(list)) { console.log(x); }
That should output the following:
1 2 3 | [0, 'a'] [1, 'b'] [2, 'c'] |
[0, 'a'] [1, 'b'] [2, 'c']
As you can see, the incrementing index is coupled with the element in the original list/array.
Also, we can use the iterator.next() function until iterator.done is true.
1 2 3 4 5 6 | let it = enumerate(['a', 'b', 'c', 'd']) let result = it.next(); while (!result.done) { console.log(result.value) result = it.next(); } |
let it = enumerate(['a', 'b', 'c', 'd']) let result = it.next(); while (!result.done) { console.log(result.value) result = it.next(); }
This should print the following:
1 2 3 4 | [ 0, 'a' ] [ 1, 'b' ] [ 2, 'c' ] [ 3, 'd' ] |
[ 0, 'a' ] [ 1, 'b' ] [ 2, 'c' ] [ 3, 'd' ]
–EOF (The Ultimate Computing & Technology Blog) —
Recommend:Tutorial: How to Set Up a API Load Balancer by Using CloudFlare
Introducing the Pancake Sorting Algorithm
What Should You Blog About During the Pandemic and Beyond?
6 Tips For Starting a Business During a Pandemic
Will Your Blog be affected by the Current Facebook Ad Boycott?
Unobvious Life Hacks for Ads Optimization in Google
Essential Traits That Will Help Bloggers Work From Home Successf
Examining the Physical and Mental Health of Writers and Bloggers
How will Blogging Change after the Pandemic?
Digital Relationships: 5 Tips For Building A Better Veterinary B
- Comment list
-
- Comment add