博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
for...in的改进版for...of
阅读量:6447 次
发布时间:2019-06-23

本文共 800 字,大约阅读时间需要 2 分钟。

for...in 用起来似乎还不错,为什么又弄个 for...of 呢?

来看个例子:

'user strict'var arr = [12,13,14,15,16];for(var i in arr){    console.log(i);}// 遍历结果为0 1 2 3 4(仅为数组下标)

 for...of 这里就体现出优势了

同样的例子将 for...in 换成 for...of 就可直接遍历数组元素的内容

'user strict'var arr = [12,13,14,15,16];for(var i of arr){    console.log(i);}// 遍历结果为0 1 2 3 4(仅为数组下标)

遍历 Array 可以采用下标循环,遍历 Map 和 Set 就无法使用下标。为了统一集合类型,ES6标准引入了新的 iterable 类型,ArrayMap 和 Set 都属于 iterable 类型

for..of 则可专门针对 iterable 类型进行遍历

再看个比较典型的例子:

var arr = [12,13,14,15,16];arr.attr = 'as';for(var i in arr){    console.log(arr[i]);}// 结果 12 13 14 15 16 as(for...in不仅遍历出arr数组的元素还把arr的属性也遍历出来)

这里使用 for...of 仅遍历数组元素

var arr = [12,13,14,15,16];arr.attr = 'as';for(var i of arr){    console.log(i);}// 结果 12 13 14 15 16(不会出现 for...in 的情况)

 

转载于:https://www.cnblogs.com/MirageFox/p/9767226.html

你可能感兴趣的文章
Python 参数校验的进化
查看>>
JavaScript自定义事件
查看>>
JVM详解1.Java内存模型
查看>>
分析比特币网络:一种去中心化、点对点的网络架构
查看>>
python大佬养成计划----JavaScript对html的优化
查看>>
二分查找(BinarySearch)
查看>>
vuex 2.0 源码解读
查看>>
ubuntu下使用f.lux开启护眼模式[失败]
查看>>
前端实现html转pdf方法总结
查看>>
python综合学习三之Numpy和Pandas
查看>>
ECMAScript6(12):Proxy 和 Reflect
查看>>
koa-router源码学习
查看>>
egg学习笔记(6)--egg+mysql(sequelize)+vue实现curd
查看>>
Laravel源码解析之路由的使用
查看>>
实战Vue简易项目(4)定义视图
查看>>
MongoDB4.0 在windows中安装与配置
查看>>
如何正确的提问题
查看>>
关于 phantomJS 请求url driver.current_url 为 about:blank
查看>>
人工智能发展速度超过多数人想象
查看>>
将Java应用部署到SAP云平台neo环境的两种方式
查看>>