Необходимо написать функцию, которая будет из слов и символов строки формировать массив. Например, из строки Hello, world! будет сформирован массив [Hello, ,, world, !]. Использовать методы строк нельзя (например, split).
Я предположила такой алгоритм: перебор элементов строки, склеивание букв в новую переменную, если элемент равен знаку препинания или пробелу, выход из цикла, добавление в массив этой новой переменной и знака (два элемента массива), затем возвращение в цикл с того же места, где был выход, переменная для хранения склеенного слова обновляется и записывается новое слово.
Вопрос, как реализовать этот алгоритм? Я попыталась написать функцию с двумя вложенными циклами, но что-то не то получилось.
function stringToArray() {
let line = document.getElementById("enter").value;
let arrayOfSymbols = [" ", ",", ".", "!", "?"];
let lineСoncatenated = "";
let symbol = "";
let arrOfWords = [];
let j = 0;
while ( j < line.length) {
for (let i = j; i < line.length; i++) {
if(arrayOfSymbols.indexOf(line[i]) != -1) {
symbol = line[i];
lineСoncatenated = "";
break;
} else {
lineСoncatenated += line[i];
}
}
arrOfWords.push(lineСoncatenated);
arrOfWords.push(symbol);
j += lineСoncatenated.length;
}
return(arrOfWords);
}