返回

Javascript arguments 如何转化成数组?

前端

  1. 使用Array.from()方法

Array.from()方法是将类数组对象转换成真正的数组的最快捷方式。我们可以使用以下步骤来将arguments对象转换成数组:

const argsArray = Array.from(arguments);

2. 使用Array.prototype.slice()方法

Array.prototype.slice()方法也可以用来将arguments对象转换成真正的数组。我们可以使用以下步骤来将arguments对象转换成数组:

const argsArray = Array.prototype.slice(arguments);

3. 使用展开操作符(Spread operator)

展开操作符(Spread operator)是一种将数组元素展开成单独元素的符号。我们可以使用展开操作符来将arguments对象转换成真正的数组。

const argsArray = [...arguments];

4. 使用剩余操作符(Rest operator)

剩余操作符(Rest operator)是一种将剩余元素收集到一个数组中的符号。我们可以使用剩余操作符来将arguments对象转换成真正的数组。

const argsArray = [arguments[0], ...arguments.slice(1)];

5. 使用自定义函数

我们也可以编写自己的函数来将arguments对象转换成真正的数组。以下是一个自定义函数的示例:

function argsToArray(args) {
  const argsArray = [];
  for (let i = 0; i < args.length; i++) {
    argsArray.push(args[i]);
  }
  return argsArray;
}

6. 比较arguments对象和数组对象

arguments对象和数组对象有很多相似之处,但它们也有一些重要区别。

  • 类型不同: arguments对象不是真正的数组,而数组对象是真正的数组。
  • 属性: arguments对象具有length属性和callee属性,而数组对象没有这两个属性。
  • 方法不同: arguments对象不能调用数组方法,而数组对象可以调用数组方法。

7. 结论

总的来说,arguments对象和数组对象是两种不同的类型。我们可以使用多种方法将arguments对象转换成真正的数组。我们也可以编写自己的函数来将arguments对象转换成真正的数组。