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