关于ES6中for...of和for..in得问题

整理了一下关于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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值