首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript音节反计数每行

JavaScript音节反计数每行
EN

Stack Overflow用户
提问于 2014-04-19 13:13:12
回答 1查看 1.6K关注 0票数 0

当前

我重做了这个音节计数器脚本的工作:

  • 获取textarea 1的值。
  • 计算文本区域1中的音节数。
  • 在textarea 2中显示结果。
  • 每次编辑textarea 1的值时都要更新计数。
  • 充当一个函数(如果需要,可以在多个实例中运行)。

当前代码的示例函数

输入(第一区)

代码语言:javascript
运行
复制
i would appreciate
any help
at all

结果(第二部分)

代码语言:javascript
运行
复制
11

当前代码

下面是作为JSFiddle的现有代码

目标

我希望这个剧本:

  • 在每行的基础上计算文本区域1的音节:大概是通过分割文本区域1的值(如.split('\n'); )来计算文本区域1的音节。
  • 输出结果,显示每行计算的音节总数。

所需代码的示例函数

输入(第一区)

代码语言:javascript
运行
复制
i would appreciate
any help
at all

结果(第二部分)

代码语言:javascript
运行
复制
6
3
2

问题

对于如何做到这一点,我非常困惑,我非常感谢任何帮助或JSFiddle来展示如何使用现有的代码来实现这一点。

备注

对于任何可能对音节计数函数代码感兴趣的人来说:它不是100%的精确性,在某些单词上失败了,但是给出了一个很好的总体想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-19 14:23:28

试试这个,如果你想要的话,告诉我。

注意事项:

我创建了一个数组,该数组将线向上存储为var arrayOfLines = $("[name=set_" + $input + "]").val().match(/[^\r\n]+/g);

然后循环遍历该数组,并执行之前所做的操作,但在每个数组条目上执行。然后将结果存储在tempArr中,并显示tempArr结果。

请参阅小提琴

代码语言:javascript
运行
复制
function $count_how_many_syllables($input) {
    $("[name=set_" + $input + "]").keyup(function () {

    var arrayOfLines = $("[name=set_" + $input + "]").val().match(/[^\r\n]+/g);
    var tempArr = [];
    var $content;
    var word;
    var $syllable_count;
    var $result;

    for(var i = 0; i < arrayOfLines.length; i++){
        $content = arrayOfLines[i];
        word = $content;
        word = word.toLowerCase();
        if (word.length <= 3) {
            word = 1;
        }
        if (word.length === 0) {
           return 0;
        }
        word = word.replace(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, '')
            .replace(/^y/, '')
            .match(/[aeiouy]{1,2}/g).length;
        $syllable_count = word;
        $result = $syllable_count;
        tempArr.push($result);
    }

    $("[name=set_" + $input + "_syllable_count]").val(tempArr);

    });
}

(function($) {
    $count_how_many_syllables("a");
})(jQuery);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23170491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档