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
Freigeben: 2024-12-14 13:45:12
Original
949 Leute haben es durchsucht

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];
Nach dem Login kopieren

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];
}
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage