【金秋打卡】第19天Iterator遍历器介绍

2022/11/12 4:23:56

本文主要是介绍【金秋打卡】第19天Iterator遍历器介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、课程名称:前端工程师2022版

二、课程章节:ES6语法扩展-Iterator遍历器与for...of循环

三、课程讲师:Alex

四、课程内容

Iterator遍历器

1、Iterator是什么

(1)Iterator的作用

Iterator:是遍历器(迭代器)的意思,它也是用来遍历的

https://img2.sycdn.imooc.com/636c68f50001b59b04200237.jpg 

(2)寻找Iterator

      console.log(Iterator);//报错

      console.log([1, 2][Symbol.iterator]());   //Array Iterator {}

      const it = [1,2][Symbol.iterator]();

      console.log(it);

(3)使用Iterator

      // it表示可遍历对象(可迭代对象)

      // Symbol.iterator表示可遍历对象的生成方法

      const it = [1, 2][Symbol.iterator]();

      console.log(it.next()); //{value: 1, done: false}

      console.log(it.next()); //{value: 2, done: false}

      console.log(it.next()); //{value: undefined, done: true}

      console.log(it.next()); //{value: undefined, done: true}

(4)什么是Iterator

Iterator表示一个遍历的过程:Symbol.iterator(可遍历对象的生成方法)->it(可遍历对象)-> it.next() -> it.next() ->...(直到done为true)

2、Iterator解惑

(1)为什么需要Iterator遍历器

虽然遍历数组可以用for循环和forEach方法,遍历对象可以用for in循环,但是都没有一个统一的方式,Iterator遍历器是一个统一的遍历方式。数组天生就有Iterator方法,而对象没有

    console.log([][Symbol.iterator]()); //Array Iterator {}

    console.log({}[Symbol.iterator]);   //undefined

(2)如何更方便的使用Iterator

使用Iterator需要一系列的步骤,Symbol.iterator(可遍历对象的生成方法)->it(可遍历对象)-> it.next() -> it.next() ->...(直到done为true),所以我们一般不会直接使用Iterator去遍历,而是把它作为底层的东西,将它封装起来使用,for...of就是将它封装起来使用的工具

五、课程心得

今天学习了Iterator遍历器的相关知识,刚开始虽然知道遍历是什么,但是对于Iterator遍历器的使用还是有点搞不清楚的,后面逐渐形成了对它的初步认识,相信在学习接下来的for...of的知识后,可以加深对Iterator遍历器的理解。



这篇关于【金秋打卡】第19天Iterator遍历器介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程