ECMAScript 2021:转换对象为数组

在前端开发中,我们经常需要将一个对象转换为数组,以便于进行一些数据处理和操作。在 ECMAScript 2021 中,新增了一种方便快捷的方法来实现这个目的。

Object.entries() 方法

ECMAScript 2021 中新增了 Object.entries() 方法,它可以将一个对象转换为一个由 [key, value] 对组成的数组。这个方法返回的数组中,每个元素都是一个二元数组,第一个元素是对象的属性名称,第二个元素是对应属性的值。

以下是 Object.entries() 方法的语法:

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

其中,obj 是要转换的对象。

下面是一个示例代码:

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

输出结果为:

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

可以看到,Object.entries() 方法将一个对象转换为了一个由 [key, value] 对组成的数组。

Array.from() 方法

除了使用 Object.entries() 方法之外,我们也可以使用 Array.from() 方法将一个对象转换为数组。这个方法可以接受一个类似数组的对象或可迭代的对象,并返回一个新的数组。

以下是 Array.from() 方法的语法:

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

其中,obj 是要转换为数组的对象;mapFn 是一个可选参数,用于对每个元素进行处理;thisArg 是可选参数,用于指定 mapFn 函数中的 this 值。

下面是一个示例代码:

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

输出结果为:

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

可以看到,Array.from() 方法将一个对象转换为了一个字符串数组,每个元素都是一个由属性名和属性值组成的字符串。

总结

在 ECMAScript 2021 中,我们可以使用 Object.entries() 方法或 Array.from() 方法将一个对象转换为数组。这两种方法都非常方便快捷,可以大大简化我们的开发工作。

需要注意的是,不同的方法可能会返回不同的数组格式,需要根据实际需求进行选择和使用。同时,我们也可以根据具体的业务需求,使用自定义的方法来实现对象到数组的转换。

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