看 ECMAScript 2017 (ES8) 中 Object.values() 和 Object.entries() 在 JavaScript 中如何被优化

ECMAScript 2017(ES8)是JavaScript的一个重要更新版本,其中包含了许多新的特性和改进。在这个版本中,Object.values() 和 Object.entries() 是两个非常有趣的新方法,它们可以让我们更方便地处理对象的值和键值对。

Object.values()

Object.values() 方法可以让我们轻松地获取一个对象中所有的值,并将它们返回一个数组。下面是一个简单的示例代码:

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

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

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

在这个示例中,我们定义了一个名为obj的对象,并使用Object.values()方法获取了该对象中所有的值。最后,我们将结果存储在一个名为values的数组中,并使用console.log()方法将其打印到控制台中。

Object.entries()

Object.entries() 方法可以让我们轻松地获取一个对象中所有的键值对,并将它们返回一个数组。下面是一个简单的示例代码:

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

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

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

在这个示例中,我们定义了一个名为obj的对象,并使用Object.entries()方法获取了该对象中所有的键值对。最后,我们将结果存储在一个名为entries的数组中,并使用console.log()方法将其打印到控制台中。

优化

在ES8中,Object.values() 和 Object.entries() 方法都被优化了,以提高它们的性能和效率。具体来说,这两个方法现在都使用了内部迭代器,这意味着它们比以前更快,更节省内存。

此外,由于这些方法都返回数组,我们现在可以使用数组的所有方法来处理它们的返回值。例如,我们可以使用map()方法来将Object.values()返回的数组中的每个元素转换为大写字母:

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

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

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

这个示例中,我们使用map()方法将Object.values()返回的数组中的每个元素转换为大写字母。然后,我们将结果存储在一个名为values的数组中,并使用console.log()方法将其打印到控制台中。

指导意义

Object.values() 和 Object.entries() 是两个非常有用的方法,它们可以让我们更方便地处理对象的值和键值对。在ES8中,这些方法被优化了,以提高它们的性能和效率,这意味着我们可以更快、更节省地使用它们。

当我们需要处理对象中的值或键值对时,Object.values() 和 Object.entries() 都是非常好的选择。我们可以使用它们来轻松地获取对象中的值或键值对,并使用数组方法来处理它们的返回值。因此,学习和掌握这些方法将对我们的前端开发工作非常有帮助。

总结

在ES8中,Object.values() 和 Object.entries() 方法是两个非常有用的新方法,它们可以让我们更方便地处理对象的值和键值对。这些方法现在都使用了内部迭代器,以提高它们的性能和效率。当我们需要处理对象中的值或键值对时,使用这些方法将非常有帮助,并且可以使用数组方法来处理它们的返回值。

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