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!