在ECMAScript 2017中使用Object.values和Object.entries:一个例子

ECMAScript 2017(通常称为ES8)是 JavaScript 的最新版本之一,它引入了许多新的特性和功能。其中之一是Object.values和Object.entries方法,这两个方法可以让我们更方便地处理对象中的键值对。

Object.values

Object.values方法接收一个对象作为参数,并返回该对象的所有属性值组成的数组。具体用法如下:

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

Object.values方法通过遍历对象的属性并返回属性值来实现。我们可以使用这个方法来轻松地从对象中获取属性值,而不必先获取属性的键,然后使用键来获取属性值。

下面是一个示例,用它来获取一个包含商品价格的对象的所有价格并计算它们的总和:

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

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

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

Object.entries

Object.entries方法和Object.values非常相似,但它会返回一个二维数组,其中包含该对象的所有属性键值对。具体用法如下:

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

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

我们可以使用Object.entries方法来对对象进行迭代,并对其属性执行某些操作。例如,下面代码展示了如何将一个对象的属性名称和属性值分别打印出来:

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

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

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

在上面的例子中,我们用解构语法从数组中提取了键和值,并使用for-of来遍历二维数组。

思考

使用Object.values和Object.entries方法可以使我们更轻松地处理对象的属性、从对象中获取属性值或获取属性键值对。但是在使用这些方法时,我们需要注意它们只能处理简单的对象(key-value结构)。也就是说,如果对象的值是一个复杂对象或一个函数,则这些方法默认情况下将无法正确处理。

结论

在ECMAScript 2017中,Object.values和Object.entries是javascript中一个非常方便的工具,可以帮助我们更轻松地处理对象中的键值对。在实际的开发中,我们可以根据具体情况选择使用哪一个方法,并在使用过程中注意它们的限制。

参考文献

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