📜  将 argumentums 对象转换为数组 (1)

📅  最后修改于: 2023-12-03 15:39:11.825000             🧑  作者: Mango

将 argumentums 对象转换为数组

在 JavaScript 中,argumentums 是一个类数组对象,表示函数调用时传递给函数的参数列表。argumentums 对象有时可以很方便,但有时我们希望将其转换为真正的数组。本文将介绍如何将 argumentums 对象转换为数组。

方法一:使用 Array.prototype.slice 方法

Array.prototype.slice 方法返回一个新数组,其中包含从开始到结束(不包括结束)选择的数组的一部分副本。我们可以使用该方法将 argumentums 对象转换为数组。该方法的语法如下:

const array = Array.prototype.slice.call(argumentums);

其中,argumentums 代表原来的 argumentums 对象,slice.call 方法将 slice 方法转换为 argumentums 对象中的方法,创建一个新数组并将其引用赋给 array

方法二:使用 Array.from 方法

Array.from 方法可以将一个类数组对象或可迭代对象转换为真正的数组。我们可以使用该方法将 argumentums 对象转换为数组。该方法的语法如下:

const array = Array.from(argumentums);

其中,argumentums 代表原来的 argumentums 对象,Array.from 方法将其转换为一个新数组并将其引用赋给 array

例子

让我们看一个例子,演示如何将 argumentums 对象转换为数组。考虑以下函数:

function myFunction() {
  const argumentums = arguments;
  const array1 = Array.prototype.slice.call(argumentums);
  const array2 = Array.from(argumentums);
  console.log(array1); // [1, "hello", true]
  console.log(array2); // [1, "hello", true]
}

myFunction(1, "hello", true);

在该函数内部,我们首先创建一个 argumentums 对象,然后使用两个不同的方法将其转换为数组。在控制台中,我们打印这两个新数组。输出的结果是 [1, "hello", true],验证我们已经成功地将 argumentums 对象转换为了一个真正的数组。

结论

我们可以使用 Array.prototype.slice 或 Array.from 方法将 argumentums 对象转换为真正的数组。如果我们需要将一个类数组对象或可迭代对象转换为真正的数组,则可以使用 Array.from 方法。