ECMAScript 2018 (ES9) 是 JavaScript 语言的一个新版本,推出了一些有趣的新特性。其中最有用的是 Object.entries() 和 Object.values()。这两个方法使我们可以更轻松地操作对象,使我们的代码更加简洁和易于维护。
Object.entries()
Object.entries() 方法返回一个给定对象的自身可枚举属性键值对数组。这意味着它可以让我们轻松地遍历对象,而不必使用 for...in 循环。
用法
----- --- - - -- -- -- -- -- - -- ----- ------- - -------------------- --------------------- -- ------- - - ---- - -- - ---- - -- - ---- - - -
在这个示例中,我们将一个对象传递给 Object.entries() 方法。然后,它返回一个数组。这个数组包含键值对,每个键值对都是一个数组。第一个元素是属性名,第二个元素是属性值。
示例: 从对象创建 URL 查询字符串
使用 Object.entries() 方法,我们可以轻松地将对象转换为 URL 查询字符串。例如,我们可以编写以下函数:
-------- --------------------- - ----- ----- - -------------------- ----------- ------- -- ---------------------------------------------------------- ----------- ------ ------ -
这个函数接收一个对象作为参数,并返回一个 URL 查询字符串。它使用 map() 从对象创建一个数组,每个数组元素都是一个键值对字符串。然后,它使用 join() 方法将数组转换为单个字符串。
示例: 简化对象值的合并
使用 Object.entries() ,我们可以更轻松地合并两个对象的值。例如,假设有两个对象 a 和 b,我们想要合并它们的值。我们可以这样做:
----- - - - -- -- -- - -- ----- - - - -- -- -- - -- ----- ------ - ----------------------------------------- ----------------------- -------------------- -- ------- - -- -- -- -- -- - -
在这个示例中,我们使用 ... 运算符将两个对象的 Object.entries() 数组合并。然后,我们使用 Object.fromEntries() 将新的数组转换为对象。Object.fromEntries() 方法接收一个键值对数组,然后返回一个新的对象。
Object.values()
Object.values() 方法返回一个给定对象的所有自身可枚举属性的值的数组。它使我们可以轻松地获取对象中的所有值。使用它,我们可以轻松地执行各种操作,例如计算对象的总和或平均值。
用法
----- --- - - -- -- -- -- -- - -- ----- ------ - ------------------- -------------------- -- ------- --- -- --
在这个示例中,我们将一个对象传递给 Object.values() 方法。它返回一个包含对象值的数组。
示例: 计算对象值的总和
使用 Object.values() 方法,我们可以轻松地计算对象值的总和。例如,假设我们有一个包含销售额的对象:
----- ----- - - ---- ---- ---- ---- ---- --- -- ----- ----- - ---------------------------------- ----- -- ---- - ----- --- ------------------- -- ------- ---
在这个示例中,我们使用 Object.values() 方法获取一个包含每个月销售额的数组。然后,我们使用 reduce() 方法将它们添加起来。
总结
Object.entries() 和 Object.values() 是两个强大的工具,可以使我们更轻松地操作对象。通过了解它们的用法和示例,我们可以更好地利用这些新特性。它们在写更简洁、更流畅的代码方面将带来更大的作用。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64dde55bf6b2d6eab392f509