Показать сообщение отдельно
  #1 (permalink)  
Старый 26.06.2020, 16:15
Новичок на форуме
Отправить личное сообщение для wantToAsk Посмотреть профиль Найти все сообщения от wantToAsk
 
Регистрация: 26.06.2020
Сообщений: 2

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

Последний раз редактировалось wantToAsk, 26.06.2020 в 16:37.
Ответить с цитированием