ECMAScript 2017 (ES8) 之 Object.values() 方法

JavaScript 是一门非常流行的编程语言,它的标准化组织 Ecma International 针对这门语言每年都会发布新的规范,以便开发者能够更好地使用它。在 ECMAScript 2017 (简称 ES8)中,新增了一个 Object.values() 方法,它的作用是返回一个给定对象自身可枚举属性的值数组。

Object.values() 方法的语法

Object.values() 方法的语法如下:

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

其中,obj 表示一个要获取值的对象。这个方法会返回一个包含 obj 所有自身可枚举属性值的数组。

Object.values() 方法的指导意义

Object.values() 方法可以帮助我们更方便地获取一个对象中所有可枚举属性的值。例如:

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

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

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

在这个例子中,我们定义了一个包含三个属性的对象 obj,然后使用 Object.values() 方法获取了它的所有属性值。

此外,Object.values() 方法在一些场景下也可以用于对象的深度遍历。下面这个例子展示了如何对嵌套对象进行遍历:

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

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

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

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

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

在这个例子中,我们定义了一个嵌套对象 obj,它包含了一个 address 属性,值为一个包含 citycountry 属性的对象。为了获取所有属性的值,在 iterate() 函数中我们使用了 Object.values() 方法进行了深度遍历。

Object.values() 方法的示例代码

下面是 Object.value() 方法的示例代码,展示了如何使用它来遍历一个对象的可枚举属性值:

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

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

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

在这个例子中,我们定义了一个包含两个属性和一个嵌套对象的对象 obj,然后使用 Object.values() 方法获取了它的所有属性值。

在下面这个例子中,我们再来演示一下如何通过 Object.values() 方法进行深度遍历:

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

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

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

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

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

在这个例子中,我们定义了一个嵌套对象 obj,它包含了一个 address 属性,值为一个包含 citycountry 属性的对象。在 iterate() 函数中,我们使用了 Object.values() 方法进行了深度遍历。

结论

通过本文的学习,我们了解了 ECMAScript 2017 中新增的 Object.values() 方法,并且掌握了如何使用该方法来获取对象的属性值以及如何进行深度遍历。Object.values() 方法所提供的方便易用的方式,能够帮助我们更好地管理对象的数据结构。

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