整理了一下关于ES6中for…in和for…of得笔记
for…in…循环读取键名,for…of…循环读取键值。
如果要通过for…of…循环,获取数组索引,可以借助数据实例的entries方法和keys方法。
set 、map也可使用for…of…循环。
首先,遍历的顺序是按照各个成员被添加进数据结构的顺序。其次,Set 结构遍历时,返回的是一个值,而 **Map 结构遍历时,返回的是一个数组,**该数组的两个成员分别为当前 Map 成员的键名和键值。
计算生成的数据结构:
ES6 的数组、Set、Map 都部署了以下三个方法,调用后都返回遍历器对象。
- entries() 返回一个遍历器对象,用来遍历[键名, 键值]组成的数组。对于数组,键名就是索引值;对于 Set,键名与键值相同。Map结构的 Iterator 接口,默认就是调用entries方法。
- keys() 返回一个遍历器对象,用来遍历所有的键名。
- values() 返回一个遍历器对象,用来遍历所有的键值。
类似数组的对象
并不是所有类似数组的对象都具有 Iterator 接口,一个简便的解决方法,就是使用Array.from方法将其转为数组。
对于普通对象,for…of结构不能直接使用,会报错,必须部署了Iterator接口后才能使用。
第一种方法:在这种情况下,可以使用for…in来遍历键名。
let es6 = {
edition: 6,
committee: "TC39",
standard