品易云推流 关闭
文章详情页
文章 > JavaScript > js中如何自定义迭代行为

js中如何自定义迭代行为

js迭代

头像

小妮浅浅

2021-08-23 09:39:232797浏览 · 0收藏 · 0评论

说明

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电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图