The enumerate function in Javascript
- 时间:2020-09-16 12:48:17
- 分类:网络文摘
- 阅读:158 次
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) —
推荐阅读:企业推广难题 选择百度竞价还是做SEO? SEO四大搜索方式 你真的都了解吗? SEO网站关键词排名有何技巧和诀窍 近期百度SEO优化的规则有哪些变化? 影响中小企业SEO排名的五个地方 权重的高低与网站收录有何关系?两者有什么关联性! Digital Business Cards App Will Change The Way You Network Forev 3 Things You Need To Know When Launching Your Startup’s Blog Instagram Influencer Marketing Is A Billion Dollar Industry [Inf 5 Social Adverts for Driving Stellar Webinar Attendance (Infogra
- 评论列表
-
- 添加评论