基本功之迭代器(iterator)的使用和原理"/>
JavaScript基本功之迭代器(iterator)的使用和原理
[[toc]]
iterator是什么
痛点
- JavaScript提供了四种数据集合,分别是array、object、map和set。
- 这四种数据集合的数据结构各不相同,但都可以被循环遍历,背后都离不开iterator(迭代器)的支撑。
总结
- Iterator是种机制,也可说是种接口,它为各种不同的数据结构提供了统一的访问机制。
- 任何数据结构只要配置了 Iterator 接口,就可以完成遍历操作
demo:for-of机制
- ES6 创造了新的遍历for…of循环
- iterator接口主要供for…of消费
- 也就是说: 数组内置了iterator属性,因此成为可迭代对象,从而可被for…of遍历
ps
- for…of ES6新增,遍历变量为 value
- for…in 遍历遍历为 key
// for-of可以遍历: Array,Map,Set,String 等
// 注: object 不可以,因为 obj is not iterable
const arr=['a','b','c'];
for (let i of arr){console.log(i)//a、b、c
}
const m=new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
for (let j of m){co
更多推荐
JavaScript基本功之迭代器(iterator)的使用和原理
发布评论