📌  相关文章
📜  如何在 JavaScript 中将参数对象转换为数组?

📅  最后修改于: 2022-05-13 01:56:29.381000             🧑  作者: Mango

如何在 JavaScript 中将参数对象转换为数组?

arguments 对象是一个类似数组的对象,表示调用函数时传入的参数。这个类数组对象没有数组原型链,因此它不能使用任何数组方法。可以使用两种方法将此对象转换为适当的数组:

方法 1:使用 Array.from() 方法: Array.from() 方法可用于创建一个新数组,该数组是类数组或可迭代对象的浅拷贝。它包含三个参数,包括要转换的类数组对象、一个可以在数组的每个元素上调用的可选 map函数和一个可以与 map函数一起使用的“this”参数。
arguments 对象作为参数传递给此方法,它将返回对象的数组形式。该数组具有数组原型链,可以与各种数组方法一起使用。

句法:

argumentsArray = Array.from(arguments)

例子:



      

    
        How to convert arguments object into
        an array in JavaScript?
    

  

    

        GeeksforGeeks     

                     How to convert arguments object into         an array in JavaScript?                 

        Click on the button to convert the         arguments object to an Array         and also use the Array join() method.     

           

The arguments passed are '1, "Two", 3'

                          

输出:

  • 展示:
    从输出
  • 安慰:
    从控制台

方法 2:使用 Array.prototype.slice() 方法: Array.prototype.slice() 方法用于将数组的一部分返回到新的数组对象中。该数组将是原始数组的浅拷贝。此方法有两个可选参数,指示数组的开始和结束索引。如果省略参数,则索引设置为数组的第一个和最后一个索引。
此方法可用于通过将此方法绑定到对象来转换参数对象。绑定是使用call()函数完成的,并将类数组对象作为参数传递给它。它将返回参数对象的数组形式。该数组具有数组原型链,可以与各种数组方法一起使用。

句法:

argumentsArray = Array.prototype.slice.call(arguments)

例子:



  

    
        How to convert arguments object
        into an array in JavaScript?
    

  

    

        GeeksforGeeks     

                    How to convert arguments object into         an array in JavaScript?                 

        Click on the button to convert the         arguments object to an Array and         also use the Array join() method.     

           

The arguments passed are '1, "Two", 3'

                          

输出:

  • 展示:
    切片输出
  • 安慰:
    切片控制台