ES7 之 Object.entries() 和 Object.values()

阅读时长 4 分钟读完

前言

在 ES6 中,我们可以通过 Object.keys() 获取对象的所有 key,并将其组成一个数组返回。但如果我们想要同时获取对象的 key 和 value,我们需要自己手动实现或使用其他工具库。而在 ES7 中,新增了两个方法 Object.entries()Object.values(),可以让我们更方便地获取对象的 key 和 value。

Object.entries()

Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组。其返回的数组中,每个元素都是一个具有两个元素的数组,第一个元素表示对象的属性名,第二个元素表示该属性的值。

示例代码:

如果对象中存在不可枚举的属性,则这些属性不会被包含在返回的数组中:

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

值得注意的是,Object.entries() 方法返回的数组中,属性的顺序是根据对象中属性出现的顺序而定的。如果需要按照属性名字母升序排序,可以结合 Array.prototype.sort() 使用:

Object.values()

Object.values() 方法返回一个给定对象自身可枚举属性的值数组。和 Object.entries() 方法类似,返回的数组中,每个元素都是一个属性值。

示例代码:

Object.entries() 方法一样,Object.values() 方法也不会包含对象中不可枚举的属性。

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

总结

在 ES7 中,新增了两个方法 Object.entries()Object.values(),可以用于更方便地获取对象的 key 和 value。利用这两个方法,可以让我们更加便捷地操作对象,提高代码效率和可读性。

参考链接

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

纠错
反馈