ES10 中的 Array.from 方法与 Array.of 方法使用方法对比

阅读时长 3 分钟读完

在 ES10 中,JavaScript 引入了两个新的数组方法:Array.from 和 Array.of。这两个方法在数组的创建和转换上都有着重要的作用。虽然它们都是用来创建数组的方法,但是它们的用法有所不同。在本文中,我们将比较这两种方法的使用方法,以及它们的优缺点。

Array.from 方法

Array.from 方法用于将类似数组的对象和可迭代对象转换为真正的数组。它接收两个参数:第一个参数是要转换的对象,第二个参数是一个可选的映射函数,用于对每个元素进行转换。

下面是一个使用 Array.from 方法的示例:

在这个例子中,我们将一个字符串转换为了一个数组。如果没有传入第二个参数,Array.from 方法将返回一个与原始对象具有相同元素的新数组。

如果我们想对数组中的元素进行处理,可以传入一个映射函数。例如:

在这个例子中,我们将数组中的每个元素乘以 2。映射函数的第一个参数是当前元素的值,第二个参数是当前元素的索引。

Array.of 方法

Array.of 方法用于创建一个新的数组,它接收任意数量的参数,并将它们作为数组的元素。与 Array.from 方法不同,Array.of 方法不会将参数转换为数组,而是直接创建一个新的数组。

下面是一个使用 Array.of 方法的示例:

在这个例子中,我们使用 Array.of 方法创建了一个包含三个元素的数组。

优缺点对比

Array.from 和 Array.of 方法都有其优缺点。下面是它们的对比:

Array.from 方法的优点

  • 可以将类似数组的对象和可迭代对象转换为真正的数组。
  • 可以对数组中的元素进行处理,例如过滤和映射。
  • 可以使用第二个参数来指定映射函数。

Array.from 方法的缺点

  • 需要额外的函数调用,相比直接创建数组需要更多的代码。

Array.of 方法的优点

  • 可以直接创建新的数组,不需要转换。
  • 可以接收任意数量的参数。

Array.of 方法的缺点

  • 不能处理类似数组的对象和可迭代对象。

结论

在使用 Array.from 和 Array.of 方法时,需要根据实际情况来选择。如果需要将类似数组的对象和可迭代对象转换为真正的数组,并且需要对数组中的元素进行处理,那么应该使用 Array.from 方法。如果只需要创建一个新的数组,并且不需要对数组中的元素进行处理,那么应该使用 Array.of 方法。

无论选择哪种方法,都应该根据实际情况来进行选择,以确保代码的简洁和清晰。

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

纠错
反馈