阅读 72

JavaScript ES6学习-for/of

本文来继续学习 JavaScript - ES6新的循环语句 for/of

JavaScript - ES6 新增: for/of

我们对 for循环 都特别熟悉了, ES6 新增的循环语句 for/of 也有一个关键字 for, 但是这个 for 却和常规的for循环是完全不同的循环.

同样长相(结构)类似的还有 for/in, 这里先看 for/of, 下文在记录 for/in

for/of

for/of 循环用于遍历可迭代对象! 可迭代的对象例如: 数组/ 字符串/ 集合/ 映射, 这些对象都是一组或者一批元素组成的, 可以循环来获取每个元素.

来个最简单的小例子: 遍历一个数值数组求和问题

const arr = [1, 2, 3, 5, 6, 9, 8, 1],   sum = 0 for (let item of arr) {   sum += item } console.log(sum) // ==> 35 复制代码

从上面的例子我们可以看出来 for/of 和 for 循环特别像, for 关键字后面跟着一对圆括号, 里面包含怎么样来循环(即循环条件), 然后后面跟着个花括号--循环体;

在上面的代码中 arr 中的元素都会被遍历一次, 即每个元素都会运行一次. 在循环体执行完成后, 都会把数组的下一个元素赋值给元素变量. 从头到尾进行迭代

for/of 与对象

上面的代码是通过 for/of 遍历的是数组, 而对象呢?

对象(默认) 是不能迭代的. 如果在运行时尝试对常规对象进行 for/of 遍历就会抛出错误 TypeError.

如果想遍历对象, 我们可以使用 Object.keys获取对象的属性键名, 返回一个对象的属性名的数组. 然后就可以使用 for/of 对其进行遍历迭代了.

let obj = { aa: 1, bb: 2, cc: 3, dd: 5 } let objProArr = Object.keys(obj) let res = '' for (let key in objProArr) {   res += key } console.log(res) // aabbccdd


作者:阿白756
链接:https://juejin.cn/post/7028591175325974542

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐