Я пытаюсь подсчитать слова в каждом предложении из длинной строки. Я получаю только количество предложений. Я нашел некоторое решение в C# и Ruby, но они не для меня :-))подсчет слов каждого предложения в длинной строке, jquery
Я действительно новичок в java-script. Любая помощь очень ценится. Ниже код:
выход по:
Слова: 1 в посылаемых: 1 слов: 0 в посылаемых: 2 Слова: 1 в посылаемых: 3 Слова: 1 в отправлено: 4 слова : 1 в отправленных: 5 Words: 1 в отправленных: 6
слово счетчик не увеличивается! Скорее всего, это что-то простое. Спасибо заранее.
var text1 = $('#textarea1').val();
var gaps = [];
var wordsC = 0;
var wordsTot = 0;
var tempC = 0;
var sents = text1.split('.');
for (var elem in sents)
{
tempC += 1;
wordsC = elem.split(" ").length;
wordsTot += wordsC;
if (tempC == 2) {
wordsC -= 1;
wordsTot -= 1;
}
document.write("<br />Words: " + wordsC + " |in sent: " + tempC + " sent");
};
document.write("<br />words total : " + wordsTot + "<br />");
Несколько примечаний, [не используйте 'for ... in' для повторения массивов] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for ... в # Array_iteration_and_for ... in), он предназначен для итерации над свойствами объекта; использование его на массивах может сделать неожиданные вещи. В случае, если вы не знаете, JS использует область функций, используя 'var' для определения' elem' в вашем '' for' -запросе, не ограничивает его область применения циклом. [Не используйте 'document.write'] (http://www.youtube.com/watch?feature=player_detailpage&v=Y2Y0U-2qJMs#t=1082s), вместо этого используйте' console.log() '. –