Циклы подходят не только для обработки чисел, но и при работе со строками. В первую очередь благодаря возможности получить конкретный символ по его индексу. Ниже пример кода, который распечатывает каждую букву слова на отдельной строке:
const printNameBySymbol = (name) => {
let i = 0;
// Такая проверка будет выполняться до конца строки
// включая последний символ. Его индекс `length - 1`.
while (i < name.length) {
// Обращаемся к символу по индексу
console.log(name[i]);
i = i + 1;
}
};
const name = 'Arya';
printNameBySymbol(name);
// => A
// => r
// => y
// => a
Самое главное в этом коде, поставить правильное условие в while
. Это можно сделать сразу двумя способами: i < name.length
или i <= name.length - 1
. Оба способа приводят к одному результату.
Еще одно использование циклов – формирование строк. Подобная задача нередко встречается в веб-программировании. Она сводится к обычной агрегации с применением интерполяции или конкатенации.
Есть одна задача, крайне популярная среди людей, проводящих собеседования, это переворот строки. Ее можно решить множеством разных способов, но именно посимвольный перебор считается самым базовым. Пример работы этой функции:
reverse('Hexlet'); // telxeH
Общая идея переворота состоит в следующем: нужно брать символы по очереди с начала строки и соединять их в обратном порядке. Звучит довольно просто. Давайте проверим:
const reverse = (str) => {
let i = 0;
// Нейтральный элемент для строк это пустая строка
let result = '';
while (i < str.length) {
// Соединяем в обратном порядке
result = `${str[i]}${result}`;
// То же самое через конкатенацию
// result = str[i] + result;
i = i + 1;
}
return result;
};
const name = 'Bran';
reverse(name); // narB
// Проверка нейтрального элемента
reverse(''); // ''
https://replit.com/@hexlet/js-basics-iteration-over-strings
Единственный возможно сложный момент в этом коде – прочувствовать, как собирается сама строка. Так как каждый следующий символ прикрепляется к результирующей строке слева, то, в конечном итоге, строка оказывается перевернута.
Вам ответят команда поддержки Хекслета или другие студенты.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
Зарегистрируйтесь или войдите в свой аккаунт