ECMAScript 2017(ES8):数组去重和迭代器的新方法

ECMAScript 2017(ES8)是 JavaScript 的标准版本之一,它增加了一些非常实用和方便的功能。本文将向你介绍其中两个最常用的新方法:数组去重和迭代器。

数组去重

数组去重是一个很常见的问题。在以前的时候,我们需要使用 for 循环来实现。在 ES6 中,我们可以使用 Set 数据结构解决这个问题。在 ES8 中,我们有了更为简洁的方法:使用 Array.prototype.includes() 方法。

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

上述代码中,我们首先创建了一个包含重复元素的数组 arr,然后使用 Set 对象去重,并使用扩展运算符将 Set 对象转换成数组。

使用 includes() 方法的方式更为简单:

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

arr.filter() 方法返回一个新的数组,该数组由符合条件的元素组成。在此例中,我们利用 indexOf() 方法判断元素是否在此数组中已经存在。

迭代器

迭代器是一种方法,使我们可以访问集合中的每个元素。它是 Web 编程中的一个非常有用的工具,我们可以对数组、Map、Set 和 Iterator 等数据结构进行迭代。在 ES8 中,我们可以通过 Object.values() 和 Object.entries() 方法访问对象的键和值对。

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

Object.entries() 方法返回一个数组,其中包含对象的键和值对。

要访问对象的值,我们可以将 Object.entries() 的结果传递给 Array.prototype.map() 方法:

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

上述代码中,我们首先使用 Object.values() 方法获取对象的所有值,然后使用 map() 方法将每个值转换为字符串。

迭代器在 ES8 中被扩展成更多的方式。除了 Object.values() 和 Object.entries() 方法之外,还有许多内置的对象可以使用。例如:TypedArray 对象(从数组中获取下一个字节),String 对象(迭代字符串中的每个字符)以及 NodeList 对象(对文档中的所有元素进行迭代)。

结论

本文介绍了 ECMAScript 2017(ES8)中的两个常用新功能:数组去重和迭代器。我们还提供了如何使用这些新功能的示例代码。这些新功能为 JavaScript 开发人员提供了更好的工具,使我们的代码更加简洁和高效。

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