es6

阮一峰es6要点总结——遍历器

2017-04-11  本文已影响42人  布蕾布蕾

笔记,总结摘录自阮一峰

Iterator基本概念

Iterator(遍历器)是一种接口,为不同的数据结构提供统一的遍历机制。

主要供for...of...循环使用。

一个例子来说明,遍历器生成函数和遍历器对象:

比如对某数组arr进行for...of...操作,会调用arr上的Symbol.iterator函数,返回一个遍历器对象,供for...of...遍历。
一个遍历器对象应必须有next()方法,可以有也可以没有return(),throw()方法。
遍历过程:

根据以上过程,可以总结如下

Iterator接口与Generator函数

var myIterable = {};

myIterable[Symbol.iterator] = function* () {
  yield 1;
  yield 2;
  yield 3;
};
[...myIterable] // [1, 2, 3]

// 或者采用下面的简洁写法

let obj = {
  * [Symbol.iterator]() {
    yield 'hello';
    yield 'world';
  }
};

for (let x of obj) {
  console.log(x);
}
// hello
// world

for...offor...in

上一篇 下一篇

猜你喜欢

热点阅读