推荐使用 ECMAScript 2017 的 Object.values 和 Object.entries

推荐使用 ECMAScript 2017 的 Object.values 和 Object.entries

在前端开发中,经常需要对对象进行操作,例如遍历对象的属性、获取对象的属性值等等。在 ECMAScript 2017 中,新增了 Object.values 和 Object.entries 两个方法,可以方便地获取对象的值和键值对,大大简化了操作对象的过程。

Object.values

Object.values 方法返回一个数组,包含对象的所有可枚举属性的值。示例如下:

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

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

在上面的示例中,我们定义了一个包含 name、age 和 gender 属性的对象 obj,然后使用 Object.values 方法获取其所有属性的值并存储在 values 数组中。最后输出 values 数组的值,可以看到输出了对象的所有值。

Object.entries

Object.entries 方法返回一个数组,包含对象的所有可枚举属性的键值对。示例如下:

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

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

在上面的示例中,我们定义了一个包含 name、age 和 gender 属性的对象 obj,然后使用 Object.entries 方法获取其所有属性的键值对并存储在 entries 数组中。最后输出 entries 数组的值,可以看到输出了对象的所有键值对。

使用建议

Object.values 和 Object.entries 方法在操作对象时非常方便,可以大大简化代码的编写。但需要注意的是,这两个方法只能获取对象的可枚举属性,即 enumerable 属性为 true 的属性。如果需要获取对象的所有属性,可以使用 Object.getOwnPropertyNames 方法。

另外,Object.values 和 Object.entries 方法返回的数组是按照对象属性的顺序排列的,这一点需要注意。

总结

Object.values 和 Object.entries 方法是 ECMAScript 2017 中新增的操作对象的方法,可以方便地获取对象的值和键值对。这两个方法在前端开发中非常实用,可以大大简化代码的编写。但需要注意的是,这两个方法只能获取对象的可枚举属性,且返回的数组是按照对象属性的顺序排列的。

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