在 ES7 中,Object.entries()
和 Object.values()
是两个非常实用的工具函数,它们使得处理对象变得更加简单和方便。本文将会介绍这两个函数以及它们的用法和指导意义。
Object.entries()
Object.entries()
函数返回一个给定对象自身可枚举属性的键值对数组。这个数组的排序方式和使用 for...in
循环遍历对象时返回的属性顺序一致。每个元素都是一个两个元素的数组,第一个元素是属性名,第二个元素是对应属性的值。
下面是一个使用 Object.entries()
函数来遍历对象的例子:
----- --- - - ---- ------ ---- -- -- --------------------------------- -- -------- ------- ------- ---- -- ----------- --- ------ ----- ------ -- -------------------- - -------------------- ----------- -
在上面的例子中,我们使用了解构来获取数组中的属性名和值。
Object.entries()
的一个实际应用是将一个对象转化为一个 Map。可以使用如下的代码来创建一个 Map:
----- --- - - ---- ------ ---- -- -- ----- --- - --- ------------------------- ----------------- -- --- - ----- -- ------ ----- -- -- -
上面的代码将一个含有可枚举属性的对象转化为了一个 Map,并且使用了扩展运算符来初始化 Map。
总结一下,使用 Object.entries()
函数可以方便地将一个对象转化为一个数组,以及将数组转化为 Map。这个函数在处理对象时非常实用,因为它可以方便地将对象的属性和值转化为一个数组。
Object.values()
Object.values()
函数返回一个给定对象自身可枚举属性的值的数组,和 Object.entries()
函数非常相似。这个数组的排序方式和使用 for...in
循环遍历对象时返回的属性顺序一致。
下面是一个使用 Object.values()
函数的例子:
----- --- - - ---- ------ ---- -- -- -------------------------------- -- ------- ---
因为这个函数返回对象自身可枚举属性的值数组,因此如果你只想获取对象的值,那么可以使用这个函数。
Object.values()
函数在处理对象时非常实用,下面是一个示例代码,它演示如何使用这个函数来处理对象中存储的,由 id 和 value 组成的数据:
----- ---- - - -- - --- -- ------ ----- -- -- - --- -- ------ ----- -- -- - --- -- ------ ----- -- -- ----- ------ - ---------------------------- -- -- ---- - ------ -------------------- -- -- --- -- ------ ----- -- - --- -- ------ ----- -- - --- -- ------ ----- --
上面的代码通过使用 Object.values()
函数来获取对象的值数组,并且使用了 Array.prototype.sort()
函数来对数组排序,最后得到了按照 id 升序排列的数组。
指导意义
Object.entries()
和 Object.values()
函数使得处理对象时变得更加简单和方便。这两个函数可以方便地将含有可枚举属性的对象转化为数组,以及处理对象中的值。这些函数在处理数据时非常实用,并且它们的性能优秀。
当你需要处理对象时,请不要忘记这两个函数,它们可以大大简化你的工作。
结语
ES7 中的 Object.entries()
和 Object.values()
函数非常实用,它们使得处理对象时变得更加简单和方便。在处理对象时,可以使用这两个函数来转化对象为数组以及获取对象中的值。这些函数非常实用,并且在性能上优秀,因此如果处理对象时,请不要忘记它们。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64965d2248841e9894371b59