JavaScript での順列の生成
JavaScript で整数の配列の順列を生成するには、再帰関数を使用できます。目的は、整数配列を入力として受け取り、入力配列と同じ長さのすべての可能な順列を含む配列を返すことです。
Modified Permutation Function
文字列の置換のために提供されている関数は、整数とメソッドの操作方法の違いを考慮して変更できます。文字列:
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; }
短縮版および最新バージョン (ES6)
最新の JavaScript 機能を使用すると、上記の関数を簡略化できます:
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; };
使用法例
どちらの関数も整数配列の順列を生成するために使用できます:
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
以上がJavaScript で整数配列のすべての順列を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。