Heim >Web-Frontend >js-Tutorial >Wie kann ich alle Permutationen eines Arrays von Ganzzahlen in JavaScript generieren?

Wie kann ich alle Permutationen eines Arrays von Ganzzahlen in JavaScript generieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-14 13:45:12954Durchsuche

How Can I Generate All Permutations of an Array of Integers in JavaScript?

Permutationen in JavaScript: Array of Integers

In JavaScript besteht eine häufige Aufgabe darin, Permutationen eines Arrays zu generieren. Bei Permutationen werden die Elemente eines Arrays in allen möglichen Reihenfolgen angeordnet. Stellen Sie sich eine Funktion vor, die ein Array von Ganzzahlen annimmt und ein Array aller möglichen Permutationen zurückgibt, wobei jede Permutation die gleiche Länge wie das ursprüngliche Array hat.

Um die bereitgestellte Funktion zu ändern, die mit Zeichenfolgen arbeitet, um damit zu arbeiten Da es sich um ein Array von Ganzzahlen handelt, sind mehrere Änderungen erforderlich. Erstens kann die Split-Methode, die zum Erstellen eines Arrays von Zeichen aus einer Zeichenfolge verwendet wird, nicht direkt auf ein Array von Ganzzahlen angewendet werden. Stattdessen kann das Array iteriert werden und jedes Element kann in ein neues Array verschoben werden:

const integers = [...input];

Als nächstes kann die Join-Methode, die zum Verketten von Zeichen in der String-Permutation verwendet wird, nicht mit ganzen Zahlen verwendet werden. Stattdessen kann die concat-Methode verwendet werden, um ein neues Array zu erstellen, das alle Ganzzahlen enthält:

if (integers.length === 0) {
  permArr[permArr.length] = [...usedChars];
}

Der Rest der Funktion bleibt gleich und generiert nun alle möglichen Permutationen eines Arrays aus Ganzzahlen und Geben Sie sie als Array von Arrays zurück:

let permArr = [];
let usedChars = [];

function permute(input) {
  const integers = [...input];
  for (let i = 0; i < integers.length; i++) {
    const ch = integers.splice(i, 1);
    usedChars.push(ch);
    if (integers.length === 0) {
      permArr[permArr.length] = [...usedChars];
    }
    permute(integers);
    integers.splice(i, 0, ch);
    usedChars.pop();
  }
  return permArr;
}

Diese modifizierte Funktion kann Permutationen von Arrays von Ganzzahlen generieren und sie als Array von Arrays zurückgeben, wobei jedes ein anderes enthält Permutation.

Das obige ist der detaillierte Inhalt vonWie kann ich alle Permutationen eines Arrays von Ganzzahlen in JavaScript generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn