ES8 中 Object.values()、Object.entries() 方法详解

阅读时长 4 分钟读完

在 ES8 中,JavaScript 引入了 Object.values() 和 Object.entries() 方法,用于获取对象的值和键值对数组。这两个方法大大简化了对象的遍历和检索,让前端开发更加高效。

Object.values() 方法

Object.values() 方法返回一个由对象值组成的数组。简单的说,就是把对象中所有的属性值提取出来,然后放到一个数组中返回。

用法如下:

下面是一个更加实际的例子:

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

这个例子中,我们使用 Object.values() 方法来快速获取所有用户的姓名,然后使用 map() 方法生成一个新的数组。

需要注意的是,Object.values() 方法只会获取对象的可枚举属性值。如果对象中包含了不可枚举属性或者原型链中的属性,这些属性值就不会被返回。

Object.entries() 方法

Object.entries() 方法返回一个由键值对数组组成的数组。每个键值对数组含有两个元素,第一个是属性名,第二个是对应的属性值。

用法如下:

同样,下面是一个更加实际的例子:

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

需要注意的是,Object.entries() 方法同样只会返回对象的可枚举属性。如果需要获取不可枚举属性或者原型链中的属性,可以使用 Object.getOwnPropertyNames() 或者 Object.getOwnPropertySymbols() 方法。

总结

Object.values() 和 Object.entries() 方法是 ES8 中新增的两个非常实用的方法,它们可以大大简化对象的遍历和检索。需要注意的是,它们只返回对象的可枚举属性,如果需要获取不可枚举属性或者原型链中的属性,需要使用其他方法。

希望这篇文章能够帮助大家更加深入地理解 Object.values() 和 Object.entries() 方法的使用方法。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6542ae847d4982a6ebc55faf

纠错
反馈