快速上手使用 ECMAScript 2017 (ES8) 的 Object.values() 和 Object.entries() 方法

快速上手使用ES8的Object.values()和Object.entries()方法

ECMAScript 2017,即ES8已经发布,其中包含了一些新的语言特性和API。其中,Object.values()和Object.entries()是两个非常有用的方法,它们可以让我们更方便地处理对象。

Object.values()方法

Object.values()方法可以将一个对象的属性值转换为一个数组。这个方法返回这个对象属性值的一个数组副本。

以下是一个简单的例子,展示使用Object.values()方法的基本用法:

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

在这个例子中,我们将一个包含三个属性的对象传递给Object.values()方法,方法返回一个包含对象属性值的数组。

Object.values()方法很方便,可以帮助我们将对象属性值转换为数组。这个方法甚至可以用来过滤不需要的属性:

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

在这个例子中,我们将一个包含四个属性的对象传递给Object.values()方法,方法返回一个包含对象属性值的数组。然后,我们使用Array.filter()方法过滤掉所有大于等于3的属性值。

当我们需要取出一个对象的属性值或过滤掉不需要的属性时,Object.values()方法是很有用的。

Object.entries()方法

Object.entries()方法可以将一个对象的属性转换为一个键-值对的数组。数组的每个元素都是一个长度为2的数组。

以下是一个简单的例子,展示使用Object.entries()方法的基本用法:

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

在这个例子中,我们将一个包含三个属性的对象传递给Object.entries()方法,方法返回一个包含对象属性键值对的数组。

Object.entries()方法还可以很方便地将对象转换为Map:

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

在这个例子中,我们将一个包含三个属性的对象传递给Object.entries()方法,然后使用Map构造函数将返回的数组转换为Map对象。这时,对象的属性名变成了Map的键,属性值变成了Map的值。

结论

Object.values()和Object.entries()方法是ECMAScript 2017中非常有用的两个方法。使用它们可以让我们更方便地处理对象,取出属性值或键值对。如果您是前端开发者,不妨尝试一下使用这两个方法来简化您的代码。

示例代码:

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

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

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

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

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