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