1

我需要计算用户的打字速度,打字速度是通过输入他的电子邮件地址来计算的。

该用户将与键入其电子邮件地址的其他用户竞争。我的做法是花时间输入他们的电子邮件地址。例如 5 秒

然后得到输入的字符数,例如 23 个字符除以 5(平均字长)

总时间 / 输入总字数 * 60 = 每分钟字数

问题是存在差异,如果用户有一个短的电子邮件地址,例如 me@me.com,他每分钟会收到 170 个字,而如果你有一个像 chrisemail@hotmail.com 这样的平均电子邮件地址,你每分钟会收到 55 个字.

如何找到标准化或增加重量的方法,以便比较打字速度?

4

2 回答 2

3

您通过让用户键入相同的输入来标准化。当您让他们输入非常少量的数据时,这一点尤其重要。考虑以下:

Lorem ipsum dolor sit amet, consectetur adipiscing elit。Nulla burningum felis nec quam accumsan venenatis porta ligula vehicula。Praesent vitae sapien vitae velit tempor luctus eget a enim。Praesent eros metus,commodo id adipiscing vitae,congue eu tellus。Nullam feugiat,adipiscing congue 的 massa,tellus dui mollis nibh,id convallis metus libero sed libero。Pellentesque 居民 morbi tristique senectus et netus et malesuada 名声 ac turpis egestas。Nunc vitae congue eros。Sed 非 fringilla purus。Quisque lectus leo, lacinia vitae elementum at,laoreet eget leo。整数 sat amet orci Tellus。Sed diam metus, elementum id varius at, iaculis sat amet eros。

这花了我大约每分钟 28 个字(这比我正常的打字速度慢得多)。这是大量的文本,但更重要的是它不是通常键入的文本。这不是我的母语,所以我不得不慢慢分析每个单词。它不是由我经常输入的东西组成的。等等。

这花了我每分钟大约 600 个字(虽然很难估计,所以那里有很大的误差范围)。至少可以说是个人最好的。

为什么这些结果差异如此之大?因为我输入了非常不同的东西。当您将另一个变量添加到此等式(多人)时,您会得到更多的变化。

您需要标准化测试。当教育机构测试他们的学生时,他们通常让这些学生执行相同的任务,如果不是至少在功能上相同的话。这有助于消除变量,以便唯一的变量是被测试的人……人。

于 2012-01-23T18:57:22.237 回答
1

尝试以下方式:

    <!doctype html>
<html>
    <body>
        <textarea id="email_add"></textarea>
        <input type="button" value="Done" id="done"/>

        <script>
            var doneButton = document.getElementById('done');
            var emailArea = document.getElementById('email_add');
            var lengthOfEmail = 0;
            var time_start = 0;
            var time_end = 0;



            emailArea.onkeyup = function() {
                lengthOfEmail++;
                if(lengthOfEmail == 1) time_start = new Date();
                else time_end = new Date().getTime() - time_start;
            }

            doneButton.onclick = function() {
                alert("Email Length: " + lengthOfEmail);
                alert("Time: " + time_end + " milliseconds.");
            }
        </script>
    </body>
</html>

现在,您将要调整电子邮件地址长度以适应输入“@”符号时按下的班次。但这应该可以帮助您腾出时间,以及一种验证它们不只是复制和粘贴的方法。

于 2012-01-23T19:13:42.970 回答