ECMAScript 2017 新特性之 Object.values() 和 Object.entries()
在 ES2017 中,JavaScript 引入了两个新的 Object 方法,分别为 Object.values() 和 Object.entries()。在这篇文章中,我们将深入探讨这两个新方法,学习如何使用它们,并了解它们带来的指导意义。
Object.values()
Object.values() 方法可以返回给定对象自身可枚举属性的值。该方法返回一个由对象的属性值组成的数组,这些属性可以通过 for...in 循环枚举到(除非属性的枚举被禁止)。
下面是一个示例:
const obj = {name: 'xiaoming', age: 18, gender: 'male'}; console.log(Object.values(obj)); // ['xiaoming', 18, 'male']
在上面的示例中,我们传入一个对象,并调用 Object.values() 方法返回对象的属性值组成的数组。
Object.entries()
Object.entries() 方法是 Object.keys() 方法的升级版。它将返回一个由对象的属性键值对组成的数组,这些属性可以通过 for...in 循环枚举到(除非属性的枚举被禁止)。
下面是一个示例:
const obj = {name: 'xiaoming', age: 18, gender: 'male'}; console.log(Object.entries(obj)); // [['name', 'xiaoming'], ['age', 18], ['gender', 'male']]
在上面的示例中,我们传入一个对象,并调用 Object.entries() 方法返回对象的属性键值对组成的数组。
指导意义
Object.values() 和 Object.entries() 方法让我们能够更方便地遍历对象的属性,并且可以将结果转换为数组。它们的引入可以使我们的代码更加简洁和易读。
下面是一个示例:
-- -------------------- ---- ------- ----- --- - ------ ----------- ---- --- ------- -------- -- -- -------- ------ --- ------ ---- -- ---- - --------------------- --------------- - -- -- ---------------- ------ --- ------ ------ ------ -- -------------------- - --------------------- ----------- -
在上面的示例中,我们比较了使用 for...in 循环和使用 Object.entries() 方法遍历对象的不同方式。通过使用 Object.entries() 方法,我们可以在遍历对象时将其转换为数组,这样我们可以更方便地对其进行操作。
总结
在本文中,我们学习了 ECMAScript 2017 中的 Object.values() 和 Object.entries() 方法,并探讨了它们的使用和指导意义。这两个新方法使我们能够更方便地遍历对象,并将其转换为数组。通过正确使用它们,我们可以使我们的代码更加简洁和易读。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e1ad86f6b2d6eab3cdece8