JavaScript | Как записать слова из текста в массив, без пробелов?

Текст в массив слов

Представим себе такую задачу. У нас есть текст на HTML-странице (в документе). Мы хотим получить этот текст силами JavaScript, а потом достать из текста слова и разложить их как элементы массива. Мы знаем, что слова в текстах отделяются друг от друга пробелами (минимальное требование для понимания смысла предложений).

Пусть у нас есть абзац на странице:

<p>Я люблю русский язык, хотя пока ещё этого не понял. Я хочу создать поисковую систему, но пока не знаю как.</p>

В переменную stroka мы получили текстовое содержимое:

var stroka = "Я люблю русский язык, хотя пока ещё этого не понял. Я хочу создать поисковую систему, но пока не знаю как."

 

Простое решение через метод split()

Для работы нам понадобится метод split(), который наследуется от объекта-прототипа Srtring. В метод split() нужно вызвать с одним аргументом — разделителем. В качестве разделителя мы будем использовать пробел. Кодовая конструкция будет выглядеть так:

stroka.split(" ")

Итогом выполнения операции является массив:

["Я", "люблю", "русский", "язык,", "хотя", "пока", "ещё", "этого", "не", "понял.", "Я", "хочу", "создать", "поисковую", "систему,", "но", "пока", "не", "знаю", "как."]

Мы избавились от пробелов — решили задачу! Но. Единственный минус такого быстрого преобразования заключается в том, что некоторые элементы массива (слова) имеют на конце лишний знак точки или запятой. Например:

"язык,"
"понял."
"систему,"
"как."

От лишних символов лучше всего избавляться заранее — до вызова метода split().

Ссылки

ECMAScriptLiving Standard https://tc39.es/ecma262/#sec-string.prototype.split

Читайте официальную документацию живого стандарта «ECMAScript«, чтобы быть в курсе последних изменений.

JavaScript | Массивы (Array)

JavaScript | Объявление массива через квадратные скобки []

 

Поделись записью