ES6迭代器
迭代器(Iterator)
什么是迭代?
Iterator迭代器从一个数据集合中按照一定的顺序,不断的取出数据的过程
Iterator 的作用:
- 为各种数据结构, 提供一个统一的接口
- 使得数据结构的成员能够按某种次序排列
- 迭代强调是依次取出,不能确定取出的有多少,也不能保证把数据全部取完
迭代和遍历的区别?
迭代强调的依次取出,不能确定可以取出的值有多少,也不能保证去吧数据全部取完
遍历必须保证数据的长度,循环不断的全部取出,针对于数据量过大的情况下使用遍历需要时间过长
基本语法
迭代器是一个特殊的对象,每个迭代器对象都有next()方法,该方法有两个属性:
- value:返回查询的值
- done:判断是否迭代结束,返回值为布尔值
接下来封装一个迭代器
function createIterator(item){
let i = 0
return {
next(){
var result = {
value : item[i],
done : i >= item.length
}
i ++;
return result;
}
}
}
// 创建一个迭代器
var a = createIterator([1,2,3]);
console.log(a.next