繁体   English   中英

用现有单词随机生成一个单词

[英]Randomly generating a word with an existing word

我要做的

创建一个程序,询问用户任何长度的单词。 然后仅使用第一个单词的字母随机生成一个相同长度的新单词。 使用任意字母多次。 确保仅将新单词的首字母大写。 注意。 如果用户单词中有空格,则输出中将有空格。 大写每个单词。 例:

用户词:教义随机生成的词可能是Gogoa或Oogma或Gmado通知,仅在上一个示例中,我实际上只对每个字母使用了一次。 您必须:使用数组,循环,条件函数(onclick除外),您的代码必须以Onclick开头。 使用所有BP。
算法:

确定单词的长度。

  • 将单词切成字母数组…。 使用循环
  • 随机产生一个介于1和单词长度之间的数字
  • 拼写新单词,首字母大写,确保其他字母均为小写。
  • 重复3和4
  • 显示新词。

(我)

因此,我有一个文本框,我使用单词长度来获取该单词中的字母数量。 然后我有一个重复的for循环,以从单词中获取数组,然后我做了一个随机数。 我如何将这些僵硬的字母变成字母并将其打乱? 我知道这还差一点呢,我只想要一些提示。

<html>
    <head>
        <title>Final</title>
    </head>
    <body>
        <h1>Final</h1>

        Random Word generator <br>


        <input type="text" id="word">
        <input type="button" id="submit" value="Randomize" onclick="Random()">

        <script language="javascript">
            word = document.getElementById("word").value
            var n = word.length;
            function Random(){
                for(start = 0; start < n; start++){
                    Array.from(word)
                    do{
                        var x = Math.round((Math.random() * n) + 1);
                        function capitalize(str) {
                            return str.replace(/\w\S*/g, function(txt) {
                                return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
                            });
                        }
                    }
                    while{
                     x != n;
                    }
                document.getElementById("word").value = (capitalize(word));
            }
        </script>
    </body>
</html>

拥有字符串后,可以对字符串使用split来获取数组。

在这里,您可以使用类似以下命令的方法对数组进行混洗: 随机化数组现在,您要获取第一个元素并将其大写。 然后,您可以使用Array.join('')来获取新字符串。 Array.join一个分隔符的值,在您的情况下,您想成为分隔符,这样就不会以看起来像H,e,l,l,o的字符串结尾。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM