在javascript中计算每分钟单词数

在javascript中计算每分钟单词数,javascript,Javascript,我一直在努力计算这个问题。然而,我已经完成了代码,但是我的客户说计算是错误的。他说(我做了一个测试,读了3秒钟,每分钟阅读量是298个,应该是11000个,段落文字是290个) 这是现场演示的url,请选择一个段落并开始, 这是密码 var numWordsInText, myTimer, startTime, wpm; function SetNumWordsInText(b) { s = b; s = s.replace(/(^\s*)|(\s*$)/gi, "");

我一直在努力计算这个问题。然而,我已经完成了代码,但是我的客户说计算是错误的。他说(我做了一个测试,读了3秒钟,每分钟阅读量是298个,应该是11000个,段落文字是290个)

这是现场演示的url,请选择一个段落并开始,

这是密码

var numWordsInText, myTimer, startTime, wpm;
function SetNumWordsInText(b) {
    s = b;
    s = s.replace(/(^\s*)|(\s*$)/gi, "");
    s = s.replace(/[ ]{2,}/gi, " ");
    s = s.replace(/\n /, "\n");
    numWordsInText = s.split(" ").length
}

function updateWPM() {
    if (wpm = (new Date).getTime() - startTime) wpm /= 1E3, wpm = numWordsInText / wpm, wpm *= 60;
    5E4 > wpm && (document.getElementById("wpm1").innerHTML = wpm.toFixed(0));
    myTimer = setTimeout(function() {
        updateWPM()
    }, 500)
}

所以,我在这里尝试了随机文本。我得到了读取所需的总秒数(
const seconds=3
),并使用了您的
setNumWordsInText()
。然后,我将单词除以时间(以秒为单位),看看每秒有多少单词。然后,我乘以60,得到一分钟内的字数。让我知道这是否是你要找的

const setNumWordsInText = b => {
  let s = b
  s = s.replace(/(^\s*)|(\s*$)/gi, "")
  s = s.replace(/[ ]{2,}/gi, " ")
  s = s.replace(/\n /, "\n")
  return s.split(" ").length
}

const updateWPM = (t, w) => (w / t) * 60

const txt = "Spicy jalapeno bacon ipsum dolor amet rump t-bone andouille, reprehenderit veniam sausage burgdoggen tri-tip pork chop shoulder. In labore pork leberkas bacon, dolor fugiat sunt sint excepteur ball tip landjaeger ut corned beef. T-bone in magna, consectetur do sirloin culpa elit labore meatloaf quis pariatur. Magna veniam capicola consequat, drumstick filet mignon excepteur. Hamburger pork consequat incididunt aliqua tongue cupim nulla burgdoggen leberkas sirloin."

const numWordsInText = setNumWordsInText(txt)
const seconds = 3
const wpm = updateWPM(seconds, numWordsInText)
console.log(wpm)

我做梦也想不到这里有人会在第三方网站上进行测试,然后才能帮你找到答案。在问题中提供一个最小的工作代码段,复制所描述的问题。谢谢,我添加了一个直接段落链接,因此没有测验。在问题中提供一个最小的工作代码段,复制所描述的问题,而不是外部链接。如果你不明白这是什么意思,请阅读这里:老实说,我对演示毫无意义。当你在完成之前不知道所读单词的数量时,你如何合理地给出一个运行总数?我也不理解你的代码。如果您只是想计算WPM,那么它应该是一个基于字数、开始时间和结束时间的简单公式:
WPM=nbrOfWords/minutes
,相当于
WPM=nbrOfWords/((endTime-startTime)/60000)