• 技术文章 >Web开发 >JavaScript

    js中如何自定义迭代行为

    小妮浅浅小妮浅浅2021-08-23 09:39:23原创2404

    说明

    1、可迭代对象是实现了@@iterator方法的对象,那么可迭代对象就可以通过重写@@iterator方法实现自定义迭代行为。

    @@iterator是一个可以返回迭代器对象的函数。

    2、当next方法返回时,迭代结束。

    实例

    const arr = [1, 3, 5, 7];
    arr[Symbol.iterator] = function () {
      const ctx = this;
      const { length } = ctx;
      let index = 0;
      return {
        next: () => {
          if (index < length) {
            return { value: ctx[index++] * 2, done: false };
          } else {
            return { done: true };
          }
        }
      };
    };
     
    [...arr];       // [2, 6, 10, 14]

    以上就是js中自定义迭代行为的方法,希望对大家有所帮助。更多js学习指路:js教程

    推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。

    专题推荐:js迭代
    上一篇:js状态模式是什么 下一篇:js返回生成器的两种方法

    相关文章推荐

    • js内存的生命周期介绍• js引用计数算法是什么• js中callee是什么• js中caller是什么意思• js中join()方法的使用• js new操作符的使用步骤• js使用hasOwnProperty判断属性• js外观模式的介绍• js观察者模式是什么• js观察者模式和订阅模式的区别• js迭代器模式是什么• js状态模式是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网