How to convert arguments object into an array in JavaScript ? - GeeksforGeeks

15 Nov, 2019
The arguments object is an array-like object that represents the arguments passed in when invoking a function. This array-like object does not have the array prototype chain, hence it cannot use any of the array methods. This object can be converted into a proper array using two approaches:
Method 1: Using the Array.from() method: The Array.from() method can be used to create a new array that is a shallow-copy of an array-like or iterable object. It contains three parameters that consist array-like object to be converted, an optional map function that can be called on every element of the array and a “this” argument that can be used with the map function.The arguments object is passed as an argument to this method and it will return the array form of the object. This array has the array prototype chain and can be used with the various array methods.
Syntax:
argumentsArray = Array.from(arguments)
Example:
<!DOCTYPE html><html>      <head>    <title>        How to convert arguments object into        an array in JavaScript?    </title></head>  <body>    <h1 style="color: green">        GeeksforGeeks    </h1>          <b>         How to convert arguments object into        an array in JavaScript?    </b>          <p>        Click on the button to convert the        arguments object to an Array        and also use the Array join() method.    </p>          <p>The arguments passed are '1, "Two", 3'</p>          <button onclick="convertToArray(1, 'Two', 3)">        Convert to Array    </button>          <script type="text/javascript">              function convertToArray(a, b, c) {            console.log("The arguments object:")            console.log(arguments);                      argumentsArray = Array.from(arguments);                      console.log("The arguments object as array:")            console.log(argumentsArray);                      // Example of using the join() method            joinedArray = argumentsArray.join(', ');                          console.log("Using join() on array: ",                                    joinedArray);        }    </script></body>  </html>
Output:
Display:
Console:
Method 2: Using Array.prototype.slice() method: The Array.prototype.slice() method is used to return a portion of an array into a new array object. This array would be a shallow copy of the original array. This method has two optional arguments that indicate the beginning and ending index of the array. If the arguments are omitted, the indices are set to the first and last index of the array.This method can be used to convert the arguments object by binding this method to the object. The binding is done using the call() function and passing the array-like object as an argument to it. It will return an array form of the arguments object. This array has the array prototype chain and can be used with the various array methods.
Syntax:
argumentsArray = Array.prototype.slice.call(arguments)
Example:
<!DOCTYPE html><html>  <head>    <title>        How to convert arguments object        into an array in JavaScript?    </title></head>  <body>    <h1 style="color: green">        GeeksforGeeks    </h1>          <b>        How to convert arguments object into        an array in JavaScript?    </b>          <p>        Click on the button to convert the        arguments object to an Array and        also use the Array join() method.    </p>          <p>The arguments passed are '1, "Two", 3'</p>          <button onclick="convertToArray(1, 'Two', 3)">        Convert to Array    </button>          <script type="text/javascript">              function convertToArray(a, b, c) {            console.log("The arguments object:")            console.log(arguments);                      argumentsArray =                 Array.prototype.slice.call(arguments);                      console.log("The arguments object as array:")            console.log(argumentsArray);                      // Example of using the join() method            joinedArray =                 argumentsArray.join(', ');                              console.log("Using join() on array: ",                                       joinedArray);        }    </script></body>  </html>
Output:
Display:
Console:
JavaScript-Misc
Picked
JavaScript
Web Technologies
Web technologies Questions
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Remove elements from a JavaScript Array
Difference between var, let and const keywords in JavaScript
Difference Between PUT and PATCH Request
JavaScript | Promises
How to get character array from string in JavaScript?
Remove elements from a JavaScript Array
Installation of Node.js on Linux
How to fetch data from an API in ReactJS ?
How to insert spaces/tabs in text using HTML/CSS?
Difference between var, let and const keywords in JavaScript