如何使用 ES6 的 for..of 语句遍历数组和对象

ES6为JavaScript带来了许多新特性,其中一个特性是 for..of 循环,它能够简化数组和对象的迭代。在本文中,我们将学习如何使用for..of循环遍历数组和对象,并提供一些示例代码。

遍历数组

for..of 循环与之前的for循环不同,for循环需要设置索引值进行计数,而for..of循环直接迭代数组元素或其他可迭代对象的值。下面是一个对比:

-- -------
----- ----- - --- -- ---
--- ---- - - -- - - ------------- ---- -
  ----------------------
-

-- ------- ----
----- ----- - --- -- ---
--- ------ ----- -- ------ -
  -------------------
-

输出结果相同:

-
-
-

通过上面的代码可以看出,for..of 循环不需要声明计数器变量,工作原理是先创建一个迭代器对象,然后每次循环执行.next()方法获取下一个元素,即实现了遍历的功能。

需要注意的是仅限于数组、Set、Map等JavaScript内置的具有迭代功能的数据结构才能使用for..of进行遍历,如果要遍历普通对象的键值对,可以使用for..in语句。

遍历对象

使用for..of循环迭代对象需要注意的是,使用for..of遍历时需要将对象转化为可迭代对象,例如可以使用Object.keys()或Object.values()方法将普通对象转化为可迭代对象:

----- --- - - -- -- -- -- -- - --
------------------------------ -- ----- ---- ----
-------------------------------- -- --- -- --

在将对象转化为可迭代对象后,我们可以使用for..of循环来遍历它们。下面是一个示例代码:

----- --- - - -- -- -- -- -- - --
--- ------ ----- -- ------------------- -
  -------------------
-

输出结果:

-
-
-

结论

使用for..of循环可以更方便地迭代数组和可迭代对象的值,从而简化了代码的书写。需要注意的是,仅限于JavaScript内置的具有迭代功能的数据结构才能使用for..of进行遍历,如果要遍历普通对象的键值对,可以使用for..in语句。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67242b1d2e7021665e12821d