ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で整数配列のすべての順列を生成するにはどうすればよいですか?

JavaScript で整数配列のすべての順列を生成するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-14 13:45:12
オリジナル
949 人が閲覧しました

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

JavaScript の順列: 整数の配列

JavaScript の一般的なタスクは、配列の順列を生成することです。順列には、配列の要素をすべての可能な順序で配置することが含まれます。整数の配列を受け取り、考えられるすべての順列の配列を返す関数について考えます。各順列は元の配列と同じ長さを持ちます。

文字列を操作する提供された関数を変更するには、整数の配列であるため、いくつかの変更が必要です。まず、文字列から文字の配列を作成するために使用される分割メソッドは、整数の配列に直接適用できません。代わりに、配列を反復処理して、各要素を新しい配列にプッシュできます。

const integers = [...input];
ログイン後にコピー

次に、文字列順列で文字を連結するために使用される結合メソッドは、整数では使用できません。代わりに、 concat メソッドを使用して、すべての整数を含む新しい配列を作成できます。

if (integers.length === 0) {
  permArr[permArr.length] = [...usedChars];
}
ログイン後にコピー

関数の残りの部分は同じままで、整数の配列の可能なすべての順列が生成され、それらを配列の配列として返します:

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;
}
ログイン後にコピー

この変更された関数は、整数の配列の順列を生成し、それらを配列として返すことができます。それぞれに異なる順列が含まれる配列。

以上がJavaScript で整数配列のすべての順列を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート