ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript 関数を通じて文字列のすべての順列と組み合わせを生成します

JavaScript 関数を通じて文字列のすべての順列と組み合わせを生成します

藏色散人
藏色散人オリジナル
2021-08-03 14:52:133492ブラウズ

今日は、JavaScript 関数を使用して文字列のすべての順列と組み合わせを生成する方法を紹介します。いわゆる順列と組み合わせは、組み合わせ論の最も基本的な概念です。

まず、順列と組み合わせについて簡単に説明します:

1. 配置とは、指定された数の要素から指定された数の要素を取り出すことを意味します。要素とそれらの並べ替え。

2. 結合とは、ソートに関わらず、与えられた数の要素の中から、指定された数の要素だけを取り出すことを指します。

順列と組み合わせの中心的な問題は、指定された要件の順列と組み合わせで考えられる状況の総数を研究することです。

誰もが順列と組み合わせについてある程度は理解していると思います。

以下では、JavaScript コードを使用して、文字列のすべての順列と組み合わせを計算します。

完全なコードは次のとおりです:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<script>
    //编写一个JavaScript函数来生成字符串的所有组合
 function substrings(str1)
    {
        var array1 = [];
        for (var x = 0, y=1; x < str1.length; x++,y++)
        {
            array1[x]=str1.substring(x, y);
        }
        var combi = [];
        var temp= "";
        var slent = Math.pow(2, array1.length);

        for (var i = 0; i < slent ; i++)
        {
            temp= "";
            for (var j=0;j<array1.length;j++) {
                if ((i & Math.pow(2,j))){
                    temp += array1[j];
                }
            }
            if (temp !== "")
            {
                combi.push(temp);
            }
        }
        console.log(combi.join("\n"));
    }

    substrings("dog");

    </script>
</body>
</html>

ここでは、サンプル文字列 Dog を配置して結合し、生成された結果を次のように表示します。

JavaScript 関数を通じて文字列のすべての順列と組み合わせを生成します上記のコードでは、次のようないくつかの主要なメソッドを使用しました:

1、

pow()

メソッド: y 回の計算に使用されます。 x 乗の場合、構文は「Math.pow(x,y)」です。 2,

push()

メソッド: 配列の末尾に 1 つ以上の要素を追加し、新しい長さを返すことができます。構文は "array.push(item1) , item2 , ..., itemX)"。 3.

join()

メソッド: 配列内のすべての要素を文字列に入れるために使用されます。要素は指定された区切り文字で区切られます。構文は " arrayObject.結合(区切り文字)"。 最後に、このプラットフォームの古典的なコース「

JavaScript 入門_翡翠少女般若心経シリーズ

」を皆さんにお勧めします。公共の福祉のために無料です ~誰でも学ぶことができます~

以上がJavaScript 関数を通じて文字列のすべての順列と組み合わせを生成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。