Вопрос №46910 от пользователя Kostya Pershin в уроке «Функции и побочные эффекты», курс «Основы программирования»

Kostya Pershin

Добрый день. https://ru.hexlet.io/code_reviews/309381 Снова надеюсь на небольшую подсказку.

4 0

Максим Литвинов

Функция toUpperCase() не меняет исходную строку, а возвращает новую

0

Роман Ашиков

Приветствую, Константин!

Вижу вы воспользовались решением учителя. Разобрались как оно работает? Если нет, то задавайте вопросы. Рекомендую реализовать его по памяти, чтобы закрепить материал.

Максим дал правильную подсказку. Вы просто вызывали функцию toUpperCase() и передавали в неё символ. Нужно было присваивать результат вызова переменной и добавлять его в результирующую строку.

0

Kostya Pershin

Добрый день. Единственный вопрос : const shouldBeBig = (i === 0 || str[i - 1] === ' '); result += shouldBeBig ? toUpperCase(str[i]) : str[i]; Это читается как: const shouldBeBid = или i которое равно 0 , или предыдущему символу строки str , который равен пробелу => если да то result увеличиваем на символ возведенный в верхний регистр с помощью uppercase, если нет то просто текущий символ от i Правильно понял? Если да, тогда разобрался. Просто такую запись ранее не встречал, интуитивно понял что к чему, надеюсь понял верно

0

Максим Литвинов

В скобках стоит логическое выражение. В зависимости от того, выполняются условия или нет, оно принимает значение либо true либо false. Читается оно так: если индекс текущего символа равен нулю или предыдущий символ - пробел, то константе shouldBeBid присваивается значение true. В другом случае false. Далее стоит тернарный оператор. Его можно интерпретировать так: если текущий символ дожен быть большим (shouldBeBid равен true), то ..., если нет, то ... (здесь вы правильно разобрались)

0

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
20 октября 8 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
20 октября 8 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
20 октября 8 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
20 октября 8 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
20 октября 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Новый
Создает веб-приложения со скоростью света
20 октября 5 месяцев