在javascript中生成随机字母,并计算每个字母出现的次数?

在javascript中生成随机字母,并计算每个字母出现的次数?,javascript,html,Javascript,Html,我想生成一个随机字母串,比如说从a-z一个接一个地生成10个字母,也就是说,经过一定的延迟后,下一个字母应该显示在前一个字母之后,稍后,我想计算每个字母生成的次数,这与我之前所做的不同,也就是说,我已经获取了一个预定义的字母数组,并相应地生成了它们。我正在窃取这个答案,但请看这里: 函数makeid() { var text=“”; var-mablue=“ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789”; 对于(变量i=0

我想生成一个随机字母串,比如说从a-z一个接一个地生成10个字母,也就是说,经过一定的延迟后,下一个字母应该显示在前一个字母之后,稍后,我想计算每个字母生成的次数,这与我之前所做的不同,也就是说,我已经获取了一个预定义的字母数组,并相应地生成了它们。

我正在窃取这个答案,但请看这里:

函数makeid()
{
var text=“”;
var-mablue=“ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789”;
对于(变量i=0;i<5;i++)
text+=可能的.charAt(Math.floor(Math.random()*可能的.length));
返回文本;
}

使用
setInterval
方法以一定的间隔运行代码。设置一个数组,以便从一开始就对每个字符进行计数,然后可以在创建字符时而不是之后对其进行计数:

var text = '';
var chars = 'abcdefghijklmnopqrstuvwxyz';
var cnt = new Array(chars.length);
for (var i = 0; i < cnt.length; i++) cnt[i] = 0;

var handle = window.setInterval(function(){
    var ch = Math.floor(Math.random() * chars.length);
    cnt[ch]++;
    text += chars.charAt(ch);
    $('#display').text(text);
    if (text.length == 20) {
      window.clearInterval(handle);
      // now all characrers are created and counted
    }
}, 2000);
var text='';
var chars='abcdefghijklmnopqrstuvwxyz';
var cnt=新数组(字符长度);
对于(var i=0;i

演示:

使用
string.fromCharCode
生成此类字符串的较短方法:

for (var i = 0, letter; i < 10; i++) {
    setTimeout(function() {
        letter = String.fromCharCode(97 + Math.floor(Math.random() * 26));
        out.appendChild(document.createTextNode(letter)); // append somewhere
    }, 2000 * i);
}
for(变量i=0,字母;i<10;i++){
setTimeout(函数(){
字母=String.fromCharCode(97+Math.floor(Math.random()*26));
out.appendChild(document.createTextNode(letter));//追加到某处
},2000*i);
}

完整的演示涵盖了这个问题中的所有问题:

对于Math.random()==1,我们将得到一个“”字符串。它应该是可能的@Parthik JavaScript的
Math.random
返回范围
[0,1 ] ,即从不完全是1 @ PyTikgasar:<代码>数学>随机< /COD>方法永远不返回1。随机数是0。随机:永远不返回1。编辑:我太慢了,他们说的是正确的。谢谢,但这不是我所要寻找的,认为随机的字符串是AxxNyRo,那么Z应该显示2秒。显示er A…然后计算每个字母出现的次数..假设A=3,X=1等等..可能重复的时间应该计算出现的次数?应该在哪里打印这些数字。澄清您的问题。一旦生成字符串,可能会计算出现的次数,并且可以在一个文本框或一个文本区域…我正在努力回答,但这似乎是一个比我所做的更好的方法。干得好。这不算字母。@Guffa在演示中是这样的,我只是没有在答案中包含代码。你为什么不把答案放在答案中?
for (var i = 0, letter; i < 10; i++) {
    setTimeout(function() {
        letter = String.fromCharCode(97 + Math.floor(Math.random() * 26));
        out.appendChild(document.createTextNode(letter)); // append somewhere
    }, 2000 * i);
}