• 技术文章 >web前端 >js教程

    通过JavaScript函数生成字符串的所有排列组合

    藏色散人藏色散人2021-08-03 14:52:13原创391
    今天给大家介绍怎么通过一个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进行排列组合,查看生成结果如下:

    43c9891395391f2daf6c2483062ab9f.png

    在上述代码中,我们用了几个关键的方法,如下:

    1、pow()方法:用于计算x的y次幂,语法是“Math.pow(x,y)”。

    2、push()方法:可向数组的末尾添加一个或多个元素,并返回新的长度,语法是“array.push(item1, item2, ..., itemX)”。

    3、join()方法:用于把数组中的所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的,语法是“arrayObject.join(separator)”。

    最后给大家推荐本平台经典的课程《JavaScript极速入门_玉女心经系列》,公益免费的~欢迎大家学习~

    以上就是通过JavaScript函数生成字符串的所有排列组合的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:JavaScript
    上一篇:聊聊angular10中模板如何进行数据绑定? 下一篇:为什么node.js要引入buffer?浅析缓冲区buffer
    大前端线上培训班

    相关文章推荐

    • javascript怎么设置img内容• JavaScript如何处理并行请求?四种方式浅析• javascript如何获取用户输入的值• JavaScript怎么设置页面标题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网