1

我正在开发一个项目,该项目要求我为在输入框中输入的文本返回 Flesch 可读性索引。公式如下:

206.835-85.6(number of syllables / number of words)-1.015(number of words / number of sentences)

我已经知道如何计算单词,并且很确定我知道如何计算句子,但我不知道如何计算音节。

以下是我得到的关于什么可以算作音节的信息:

Each group of adjacent vowels (a, e, i, o, u, y) counts as one syllable.
Each word has at least one syllable even if the above rule gives it a count of 0.

有人愿意为我指出正确的方向吗?

更新 我已经编写了一些代码,但无法让它工作。我发布了一个指向我正在处理的 jsfiddle 的链接,作为对下面答案的评论以及我遇到的问题。如果有人愿意检查一下,看看您是否可以帮助我找出我做错了什么(除了很可能有更有效的方法),将不胜感激。

4

1 回答 1

2

伪代码:

for each letter in word:
    if letter is vowel, and previous letter is not vowel or this is the first letter, increment numSyllables

if numSyllables is 0, set numSyllables to 1

您可以使用布尔值作为标志来确定前一个字母是否为元音。

要遍历单词中的每个字母:

var word = "test",
    i;
for(i = 0; i < word.length; i++) {
    console.log(word[i]);
}
于 2014-12-12T20:04:32.700 回答