各种遍历

for ... of

const arr = [1, 2, 3]
for (let item of arr) {
  console.log(item)
  }

for ... of 作用于一个iterable(可迭代)对象。
哪些是可迭代对象?例如: Array, Map, Set, String等,他们实现了键为 @@iterator 的属性,可以通过Symbol.iterator访问。如下图:


image.png

而普通对象,则不是iterable。

for ... in

以任意顺序遍历一个对象的除[Symbol]以外的[可枚举],包括继承的可枚举属性。

Object.getOwnPropertyNames()

返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组

Object.keys()

返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和正常循环遍历该对象时返回的顺序一致

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ​为了方便例子讲解,现有数组和字面量对象如下 for 可以直接看示例,用得太多了,很简单 关于for循环,有以下几...
    Coding测试阅读 3,110评论 0 5
  • 为了方便例子讲解,现有数组和字面量对象如下 for 可以直接看示例,用得太多了,很简单 关于for循环,有以下几点...
    这波能反杀阅读 6,999评论 1 23
  • tips:接下去会在github写博客,简书不再更新和修改文章,欢迎大家逛逛我的新博客点击查看 ,我会尽量用更容易...
    aermin阅读 4,373评论 0 2
  • ## 前言   将依据自身痛点学习,计划对原生JavaScript写一个系统,本文为第一篇,感...
    Pine_649e阅读 2,286评论 0 0
  • 开门见山,我尽量精简,话说简书不能列目录,难道这不是刚需?? 一、JS原生方法1.JS遍历的常用方法有for循环和...
    Rainism_140d阅读 3,602评论 0 1