Уникальное количество слов, количество предложений, количество абзацев, время чтения и т. д.
В этой статье мы узнаем, как рассчитать различные строковые метрики с помощью Javascript. Например, techwritingtools.com показывает разные показатели слов, символов и предложений в строке состояния.
Эти показатели легко рассчитать, и в этой статье мы узнаем, как их рассчитать, используя простые функции Javascript.
Считать метрики
Расчет количества строк
Мы можем точно рассчитать количество строк, подсчитав количество \n
в тексте.
const lineCount = (text) => { var nLines = 0; for (var i = 0, n = text.length; i < n; ++i) { if (text[i] === '\n') { ++nLines; } } return nLines; }
Подсчет количества слов
Мы можем подсчитать количество слов, разделив текст с помощью регулярного выражения /\s+/
.
const wordCount = (text) => { const words = text.trim().split(/\s+/).length; return words }
Подсчет количества уникальных слов
Мы можем вычислить уникальные слова в тексте, используя следующий метод.
const uniqueWordCount = (text) => { let wordSet = new Set(text.split(' ')); return wordSet.size; }
Подсчет количества символов
Мы можем подсчитать количество слов, просто получив длину текста.
const characterCount = (text) => { return text.length }
Подсчет количества абзацев
Мы можем рассчитать количество абзацев в тексте, используя следующий метод.
const paragraphCount = (text) => { return text.replace(/\n$/gm, '').split(/\n/).length; }
Показатели предложения
Мы можем рассчитать основные показатели предложения, такие как количество предложений, максимальная, минимальная и средняя длина предложения. Важно точно рассчитать количество предложений. Мы можем использовать это регулярное выражение, чтобы разделить текст на предложения.
var sentences = text.match(/\(?[^\.\?\!]+[\.!\?]\)?/g)
Максимальная/минимальная/средняя длина предложения
Этот метод возвращает количество предложений вместе с максимальной, минимальной и средней длиной предложения.
const sentenceMetrics = (text) => { var sentences = text.match(/\(?[^\.\?\!]+[\.!\?]\)?/g) if (!sentences) { return { "count": 0, "avg": 0, "min": 0, "max": 0 }; } var sentenceCount = 0; var avgSentenceLength = 0; var minSentenceLength = Number.MAX_SAFE_INTEGER; var maxSentenceLength = 0; sentenceCount = sentences.length; for (var i = 0; i < sentenceCount; i++) { var wcount = wordCount(sentences[i]); avgSentenceLength += wcount; minSentenceLength = Math.min(minSentenceLength, wcount); maxSentenceLength = Math.max(maxSentenceLength, wcount); } avgSentenceLength = avgSentenceLength / sentenceCount; return { "count": sentenceCount, "avg": avgSentenceLength.toFixed(1), "min": minSentenceLength, "max": maxSentenceLength }; }
Обратите внимание, что метод использует метод wordCount
, который мы определили ранее.
Расчет времени чтения
Мы можем рассчитать время чтения текста, используя следующий метод. Предполагается, что читатель читает 225
слова в минуту. Многочисленные исследования предложили это число.
const readingTime = (text) => { const wpm = 225; const words = text.trim().split(/\s+/).length; const time = Math.ceil(words / wpm); return time === 1 ? "1 min" : `${time} mins`; }
Получайте удовольствие, используя методы в своем проекте или на веб-сайте. Кроме того, подумайте о том, чтобы попробовать инструменты технического письма. Он предлагает бесплатный редактор разметки с рядом инструментов, облегчающих написание технических писателей.
Подумайте о том, чтобы оформить членство на Medium, чтобы продолжать читать все мои премиальные статьи вместе с тысячами других историй.
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.
Повысьте узнаваемость и признание вашего технического стартапа с помощью Circuit.