Convertir des arguments en un tableau en JavaScript

  1. Qu’est-ce que l’objet arguments en JavaScript
  2. Convertir l’objet arguments en un tableau à l’aide des paramètres rest en JavaScript
  3. Convertir l’objet arguments en un tableau à l’aide de la méthode Array.from() en JavaScript
  4. Convertir l’objet arguments en un tableau à l’aide de littéraux de tableau en JavaScript

Qu’est-ce que l’objet arguments en JavaScript

Les arguments sont un objet présent à l’intérieur de chaque fonction. Quels que soient les paramètres que vous passez à une fonction en JavaScript, ces paramètres sont stockés dans cette liste d’arguments sous la forme d’un objet. Les clés de cet objet sont des nombres commençant à zéro. Pour accéder aux valeurs présentes à l’intérieur de l’objet arguments, on peut utiliser ces clés.

Cet objet arguments peut être utilisé comme un tableau, mais il ne prend pas en charge les fonctions JavaScript telles que forEach, sort, filter et map. Ainsi, si vous souhaitez utiliser ces fonctions avec l’objet arguments, vous devez convertir cet objet entier en un tableau.

L’objet arguments peut être converti en tableau de différentes manières. Nous allons nous concentrer sur les méthodes les plus courantes comme l’utilisation des paramètres rest, array.from() et array literals. Discutons chacun d’eux en détail.

Convertir l’objet arguments en un tableau à l’aide des paramètres rest en JavaScript

Le paramètre rest permet à une fonction d’accepter un nombre variable d’arguments en entrée. Il est représenté par ...args. Ici, à la place de ...args, vous pouvez donner n’importe quel nom, et les points triples ... sont connus comme l’opérateur de propagation.

Désormais, chaque fois que vous passez ...args en tant que paramètre à une fonction, cela convertira l’objet arguments en un tableau, et vous pouvez désormais accéder à l’objet arguments en utilisant le nom ...args.

function func(...args) {
    console.log(args);
    console.log(args[0]);
}

func(1,2,3);

Production:

[ 1, 2, 3 ]
1

Dans cet exemple, nous passons les paramètres 1,2,3 en argument à une fonction func(). Puisque nous avons utilisé l’opérateur rest, nous obtiendrons l’objet arguments sous la forme d’un tableau. Et nous pouvons maintenant utiliser diverses méthodes comme trier ou filtrer sur ce tableau.

Convertir l’objet arguments en un tableau à l’aide de la méthode Array.from() en JavaScript

Une autre façon de convertir l’objet arguments en un tableau est d’utiliser la méthode Array.from(). Ici, nous devons passer l’objet arguments à l’intérieur de la méthode from(), nous donnant un tableau. Vous pouvez soit stocker le tableau résultant dans une variable, soit accéder directement aux éléments à l’intérieur de ce tableau.

function func() {
    console.log(Array.from(arguments));
    console.log(Array.from(arguments)[0]);
}

func(1,2,3);

Production:

[ 1, 2, 3 ]
1

Nous avons également pris le même exemple, mais la seule différence est que nous utilisons Array.from() et passons l’objet arguments au lieu d’utiliser un opérateur rest. Vous pouvez utiliser une indexation de tableau telle que Array.from(arguments)[0] pour accéder aux éléments individuels. Cela renverra le premier élément du tableau.

Convertir l’objet arguments en un tableau à l’aide de littéraux de tableau en JavaScript

Un tableau littéral est une liste composée de zéro ou plusieurs éléments commençant par le numéro d’index zéro. Dans les littéraux de tableau les éléments sont placés entre crochets []. Ici, chaque élément est accessible à l’aide de son numéro d’index.

function func() {
    let args = [].slice.call(arguments);

    console.log(args);
    console.log(args[2]);
}

func(1,2,3);

Production:

[ 1, 2, 3 ]
3

Pour convertir l’objet arguments en un tableau, nous avons d’abord pris un tableau vide. Sur ce tableau, nous appelons la méthode slice() en utilisant la méthode call(). Maintenant, la méthode slice() va itérer sur l’objet qui est passé. Dans ce cas, c’est l’objet arguments, puis il ajoutera tous les éléments à l’intérieur de l’objet dans le tableau vide. Au final, nous stockerons le résultat de ceci dans une variable, args.

Puisque cette variable contient maintenant tous les éléments que l’objet arguments contenait auparavant, vous pouvez accéder à chaque élément avec son numéro d’index approprié en utilisant la variable args.

Article connexe - JavaScript Array

  • Comment vider un tableau en JavaScript
  • JavaScript Trier le tableau d'objets par ordre alphabétique