在 ES2017 中,Object.values()
和 Object.entries()
是两个非常有用的方法,它们可以让我们更方便地处理对象的值和键值对。本文将深入探讨这两个方法的使用方法和指导意义。
Object.values()
Object.values()
方法返回对象自身可枚举属性的值的一个数组,值的顺序与使用 for...in
循环的顺序相同(不过,for...in
循环还会枚举原型链上的属性)。下面是一个简单的示例:
----- --- - - -- -- -- -- -- - -- ----- ------ - ------------------- -------------------- -- --- -- --
这里,我们定义了一个包含三个属性的对象 obj
,然后使用 Object.values()
方法获取了它的值,并将结果存储在 values
变量中。最后,我们打印了 values
数组,它包含了对象的所有值。
需要注意的是,Object.values()
方法只会返回对象自身的可枚举属性的值,而不会返回继承自原型链上的属性的值。如果我们想获取所有属性的值,包括继承自原型链上的属性的值,我们可以使用 for...in
循环。
Object.entries()
Object.entries()
方法返回一个给定对象自身可枚举属性的键值对数组。每个键值对都是一个数组,第一个元素是键,第二个元素是对应的值。下面是一个简单的示例:
----- --- - - -- -- -- -- -- - -- ----- ------- - -------------------- --------------------- -- ------ --- ----- --- ----- ---
这里,我们定义了一个包含三个属性的对象 obj
,然后使用 Object.entries()
方法获取了它的键值对,并将结果存储在 entries
变量中。最后,我们打印了 entries
数组,它包含了对象的所有键值对。
需要注意的是,Object.entries()
方法只会返回对象自身的可枚举属性的键值对,而不会返回继承自原型链上的属性的键值对。如果我们想获取所有属性的键值对,包括继承自原型链上的属性的键值对,我们可以使用 for...in
循环。
指导意义
Object.values()
和 Object.entries()
方法提供了一种更方便的方式来处理对象的值和键值对。它们可以使代码更简洁、更易读,并且可以减少出错的可能性。我们可以使用它们来遍历对象,进行过滤、排序、映射等操作。
下面是一些示例代码,展示了如何使用 Object.values()
和 Object.entries()
方法来进行一些常见的操作:
过滤对象的值
----- --- - - -- -- -- -- -- - -- ----- -------------- - ------------------------------- -- ----- - --- ---------------------------- -- --- --
过滤对象的键值对
----- --- - - -- -- -- -- -- - -- ----- --------------- - --------------------------------- ------- -- ----- - --- ----------------------------- -- ------ --- ----- ---
将对象的值映射为新的值
----- --- - - -- -- -- -- -- - -- ----- ------------ - ---------------------------- -- ----- - --- -------------------------- -- --- -- --
将对象的值映射为新的键值对
----- --- - - -- -- -- -- -- - -- ----- ------------- - ------------------------------ ------- -- ------------------- ----- - ---- --------------------------- -- ------ --- ----- --- ----- ---
将多个对象合并为一个对象
----- ---- - - -- -- -- - -- ----- ---- - - -- -- -- - -- ----- --------- - ----------------- ------------------------ ------------------------- ----------------------- -- - -- -- -- -- -- -- -- - -
这些示例代码只是冰山一角,Object.values()
和 Object.entries()
方法还有很多用法,需要我们自己去发掘和实践。
总结
Object.values()
和 Object.entries()
方法是两个非常有用的方法,它们可以让我们更方便地处理对象的值和键值对。我们可以使用它们来遍历对象,进行过滤、排序、映射等操作,使代码更简洁、更易读,并且可以减少出错的可能性。希望本文能够帮助你更深入地理解和使用这两个方法。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6565a4d0d2f5e1655dedf093