Konvertieren von Argumenten in ein Array in JavaScript

Sahil Bhosale 12 Oktober 2023
  1. Was ist das Objekt arguments in JavaScript?
  2. Konvertieren Sie das Objekt arguments in ein Array mit rest-Parametern in JavaScript
  3. Konvertieren Sie das Objekt arguments in ein Array mit der Methode Array.from() in JavaScript
  4. Konvertieren Sie das Objekt arguments in ein Array mit Array-Literalen in JavaScript
Konvertieren von Argumenten in ein Array in JavaScript

Was ist das Objekt arguments in JavaScript?

Das arguments ist ein Objekt, das in jeder Funktion vorhanden ist. Welche Parameter auch immer Sie in JavaScript an eine Funktion übergeben, diese Parameter werden in dieser Argumentliste in Form eines Objekts gespeichert. Die Schlüssel dieses Objekts sind Zahlen, die bei Null beginnen. Um auf die im Objekt arguments vorhandenen Werte zuzugreifen, können wir diese Schlüssel verwenden.

Dieses arguments-Objekt kann als Array verwendet werden, unterstützt jedoch nicht die JavaScript-Funktionen wie forEach, sort, filter und map. Wenn Sie also diese Funktionen mit dem arguments-Objekt verwenden möchten, müssen Sie dieses gesamte Objekt in ein Array umwandeln.

Das Objekt arguments kann auf viele verschiedene Arten in ein Array umgewandelt werden. Wir konzentrieren uns auf die beliebtesten Methoden wie die Verwendung der Parameter rest, array.from() und array literals. Lassen Sie uns jeden von ihnen im Detail besprechen.

Konvertieren Sie das Objekt arguments in ein Array mit rest-Parametern in JavaScript

Der Parameter rest erlaubt einer Funktion, eine variable Anzahl von Argumenten als Eingabe zu akzeptieren. Es wird durch ...args repräsentiert. Anstelle von args können Sie hier einen beliebigen Namen angeben, und die dreifachen Punkte ... werden als Spread-Operator bezeichnet.

Wenn Sie nun ...args als Parameter an eine Funktion übergeben, wird das arguments-Objekt in ein Array umgewandelt, und Sie können nun mit dem Namen args auf das arguments-Objekt zugreifen.

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

func(1, 2, 3);

Ausgabe:

[ 1, 2, 3 ]
1

In diesem Beispiel übergeben wir die Parameter 1,2,3 als Argument an eine Funktion func(). Da wir den Operator rest verwendet haben, erhalten wir das Objekt arguments in Form eines Arrays. Und wir können jetzt verschiedene Methoden wie Sortieren oder Filtern für dieses Array verwenden.

Konvertieren Sie das Objekt arguments in ein Array mit der Methode Array.from() in JavaScript

Eine andere Möglichkeit, das arguments-Objekt in ein Array umzuwandeln, ist die Methode Array.from(). Hier müssen wir das arguments-Objekt innerhalb der Methode from() übergeben, wodurch wir ein Array erhalten. Sie können das resultierende Array entweder in einer Variablen speichern oder sogar direkt auf die Elemente in diesem Array zugreifen.

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

func(1, 2, 3);

Ausgabe:

[ 1, 2, 3 ]
1

Wir haben auch das gleiche Beispiel genommen, aber der einzige Unterschied besteht darin, dass wir Array.from() verwenden und das arguments-Objekt übergeben, anstatt einen rest-Operator zu verwenden. Um auf die einzelnen Elemente zuzugreifen, können Sie eine Array-Indizierung wie Array.from(arguments)[0] verwenden. Dies gibt das erste Element des Arrays zurück.

Konvertieren Sie das Objekt arguments in ein Array mit Array-Literalen in JavaScript

Ein Array-Literale ist eine Liste, die aus null oder mehr Elementen besteht, die mit der Indexnummer null beginnen. Bei Array-Literalen werden die Elemente in die eckigen Klammern [] eingeschlossen. Hier kann auf jedes Element mit Hilfe seiner Indexnummer zugegriffen werden.

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

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

func(1, 2, 3);

Ausgabe:

[ 1, 2, 3 ]
3

Um das arguments-Objekt in ein Array umzuwandeln, haben wir zunächst ein leeres Array genommen. Auf diesem Array rufen wir die Methode slice() mit der Methode call() auf. Nun wird die Methode slice() über das übergebene Objekt iterieren. In diesem Fall ist es das Objekt arguments und fügt dann alle Elemente innerhalb des Objekts in das leere Array ein. Am Ende speichern wir das Ergebnis in einer Variablen, args.

Da diese Variable nun alle Elemente enthält, die bisher das Objekt arguments enthielt, können Sie mit der Variablen args auf jedes Element mit der entsprechenden Indexnummer zugreifen.

Sahil Bhosale avatar Sahil Bhosale avatar

Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.

LinkedIn

Verwandter Artikel - JavaScript Array