Необходимо написать функцию, которая будет из слов и символов строки формировать массив. Например, из строки 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);
 }