JSFiddle - React, Tailwind, and code Playground

by fliptheweb

HTML

<textarea id="textarea">Во саду ли в огороде бегала собачка хвост подняла навоняла вот и вся задачка собачка задачка хвост огород огород огород огород выаываыва</textarea>
<a href="#">сгенерировать ключевики</a>
<h3>Ключевики</h3>
<p id="keywords"></p>

CSS

textarea{
    width:100%;
}

JavaScript

$("a").on("click", function(e){
    e.preventDefault;
    $("p").text(getKeywords($("textarea").text()));
});


function getKeywords(textarea){
    textarea = textarea.replace("\f\r\n","").split(" ");
    var keywords = [];
    for (i = 1; i < textarea.length; i++){
        //trim string
        var keyword = textarea[i].toString().replace(/(^\s+)|(\s+$)/g, "").toLowerCase();
        if(keyword){
            //FIXIT function for count num of keywords,
            // create obj (keyword, num) and push in array
            var keywordExist = false;
            for (j = 0; j < keywords.length; j++){
                if(keyword == keywords[j]["keyword"]){
                    keywords[j]["num"]++;
                    keywordExist = true;
                    break;
                }
            }
            if(!keywordExist){
                //redefine toString function for array join
                keywords.push({
                    "keyword":keyword, 
                    "num":1, 
                    "toString": function(){return this.keyword;}
                });
            }
        }
    }
    keywords = keywords.sort(function(a,b){return b.num - a.num;}).join(", ");
    keywords[0] = keywords[0].toUpperCase();
    return keywords;
}