ES9的新特性:Object.entries()和Object.values()

阅读时长 4 分钟读完

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

纠错
反馈