Permutationsgenerierung in JavaScript
Um Permutationen eines Arrays von Ganzzahlen in JavaScript zu generieren, kann eine rekursive Funktion verwendet werden. Das Ziel besteht darin, ein ganzzahliges Array als Eingabe zu verwenden und ein Array zurückzugeben, das alle möglichen Permutationen enthält, jede mit der gleichen Länge wie das Eingabearray.
Modifizierte Permutationsfunktion
Die bereitgestellte Funktion für die String-Permutation kann geändert werden, indem die Unterschiede in der Art und Weise berücksichtigt werden, wie Methoden mit ganzen Zahlen und arbeiten Zeichenfolgen:
const permArr = []; const usedNums = []; function permuteIntegers(input) { for (let i = 0; i < input.length; i++) { const num = input.splice(i, 1)[0]; usedNums.push(num); if (input.length === 0) { permArr.push([...usedNums]); } permuteIntegers(input); input.splice(i, 0, num); usedNums.pop(); } return permArr; }
Kürzere und moderne Version (ES6)
Mithilfe moderner JavaScript-Funktionen kann die obige Funktion vereinfacht werden:
const permutator = (inputArr) => { const result = []; const permute = (arr, memo = []) => { if (arr.length === 0) { result.push(memo); } else { for (let i = 0; i < arr.length; i++) { const curr = arr.slice(); const next = curr.splice(i, 1)[0]; permute(curr, memo.concat(next)); } } }; permute(inputArr); return result; };
Verwendungsbeispiele
Beide Funktionen können zum Generieren von Ganzzahlpermutationen verwendet werden Arrays:
console.log(permuteIntegers([1, 2, 3])); // Output: [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]] console.log(permutator([1, 2, 3])); // Output: same as above
Das obige ist der detaillierte Inhalt vonWie kann ich alle Permutationen eines Integer-Arrays in JavaScript generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!