zoukankan      html  css  js  c++  java
  • 迭代器(Iterator)、生成器(Generator )、装饰器(Decorator)

    1、迭代器

     可以看出数组和字符串默认已经部署了iterator接口,只要部署了,我们调用接口,返回遍历器对象,然后执行next() 方法即可实现一个个获取数据中的元素!!!

    2、生成器

     

     

     

    从上面的案例可以看出,生成器的作用就是一下一下出结果,而不是一下子把所有的结果都拿出来。一个很重要的作用就是可以控制循环!也可以看出生成器默认返回迭代器对象,和迭代器的next用法一致。

    小结:

    1、存在迭代器接口和迭代器对象两个概念。

    2、执行迭代器接口或者说迭代器函数,即可返回迭代器对象。

    3、迭代器对象有两个特点,一是可以用 for .. of 进行遍历;另一个是可以执行next() 函数 来一步步获取结果。

    4、生成器执行后返回的就是一个迭代器对象,它除了可以用next() 方法,也可以使用for ... of 遍历。

    5、数组和字符串默认部署了迭代器接口,我们只要主动执行这个接口,便可获得迭代器对象,进而我们可以执行next() 或者说用for ... of 循环。

    6、for ... of 循环数组或者字符串的时候,默认就执行了迭代器接口, 无需手动执行。

    7、迭代器除了默认的部署,还可以手动部署。

  • 相关阅读:
    VMware coding Challenge: Coin Toss Betting
    Lintcode: k Sum II
    Lintcode: Interleaving Positive and Negative Numbers
    Lintcode: Insert Node in a Binary Search Tree
    Amazon OA
    Leetcode: Best Time to Buy and Sell Stock IV
    Leetcode: Reverse Words in a String II
    Leetcode: Repeated DNA Sequence
    Leetcode: Rotate Array
    VMware coding Challenge:Date of Weekday
  • 原文地址:https://www.cnblogs.com/teamemory/p/12542575.html
Copyright © 2011-2022 走看看