Javascript 构建一个简单的随机数发生器,其中包括一个点、一个下划线、字母a和字母B

Javascript 构建一个简单的随机数发生器,其中包括一个点、一个下划线、字母a和字母B,javascript,random,Javascript,Random,基本上,我想构建一个随机化器,它可以生成具有以下可能组合的输出: . . . . . . _ _ _ _ _ _ . _ _ . . . _ _ . . . _ _ _ _ . _ . _ . _ . 最后,在开头随机地预写字母A和B e、 g: 有没有关于如何使用JavaScript实现这一点的想法 var a = [ ".", ". .", ". . .", "_", "_ _", "_ _ _", ". _", "_ .",

基本上,我想构建一个随机化器,它可以生成具有以下可能组合的输出:

.
. .
. . .
_
_ _
_ _ _
. _
_ .
. . _
_ . .
. _ _
_ _ .
_ . _
. _ .
最后,在开头随机地预写字母A和B

e、 g:

有没有关于如何使用JavaScript实现这一点的想法

var a = [
    ".",
    ". .",
    ". . .",
    "_",
    "_ _",
    "_ _ _",
    ". _",
    "_ .",
    ". . _",
    "_ . .",
    ". _ _",
    "_ _ .",
    "_ . _",
    ". _ ."
    ],

    b = ["A ", "B "];



    function getRandom() {
        return b[Math.random()*b.length|0] + a[Math.random()*a.length|0];
    }

    getRandom(); //"A ."
    getRandom(); //"A _ _ _"
    getRandom(); //"B . _ _"
使用循环:

var l = 20;
while(l--) console.log( getRandom() );
使用循环:

var l = 20;
while(l--) console.log( getRandom() );
还有一种方法:

函数makeid(){
var text=“”;
var possibleChars=“;
var possibleLetters=“AB”;
text+=possibleLetters.charAt(Math.floor(Math.random()*possibleLetters.length));
对于(var i=0;i
改编自

以下是另一种方式:

函数makeid(){
var text=“”;
var possibleChars=“;
var possibleLetters=“AB”;
text+=possibleLetters.charAt(Math.floor(Math.random()*possibleLetters.length));
对于(var i=0;i

改编自

您不需要jQuery来完成这项工作。纯JavaScript将完成这项工作。@Diodeus哦,是的,我认为你是对的。我修改了问题。是的:将序列放入数组中,并使用
Math.random
和数组的
.length
来检索它。用相同的方法或简单的
执行“A”/“B”。这实在是太基本了,你不需要jQuery来做这件事。纯JavaScript将完成这项工作。@Diodeus哦,是的,我认为你是对的。我修改了问题。是的:将序列放入数组中,并使用
Math.random
和数组的
.length
来检索它。用相同的方法或简单的
执行“A”/“B”。这真是太基本了。非常感谢!我想最好的办法是创建一个循环,这样结果可以一直持续到某个数字。@alexchenco我已经添加了一个循环,非常感谢!不确定该选择哪个答案。我想我会等到人们投票。非常感谢!我想最好的办法是创建一个循环,这样结果可以一直持续到某个数字。@alexchenco我已经添加了一个循环,非常感谢!不确定该选择哪个答案。我想我会等到人们投票。对不起,最后一件事;如何在每个字符之间添加空格,如我上面的示例所示?@alexchenco在
possibleChars.charAt(
对不起,最后一件事;如何在每个字符之间添加空格,如我上面的示例所示?@alexchenco在
possibleChars.charAt(
function makeid() {
    var text = "";
    var possibleChars = "._";
    var possibleLetters = "AB";

    text += possibleLetters.charAt(Math.floor(Math.random() * possibleLetters.length));
    for( var i=0; i < Math.floor(Math.random() * 3)+1; i++ )
        text += " " + possibleChars.charAt(Math.floor(Math.random() * possibleChars.length));

    return text;
}

for (var i=0; i < 20; i++)
    $("body").append("<div>" + makeid() + "</div>");