Задать вопрос

Почему появляется ошибка reading 'toUpperCase'?

Подскажите, пожалуйста, что делаю не так.

Задание:
Реализуйте функцию convertText(), которая принимает на вход строку и, если первая буква не заглавная, возвращает перевернутый вариант исходной строки. Если первая буква заглавная, то строка возвращается без изменений. Если на вход передана пустая строка, функция должна вернуть пустую строку.

import reverse from './reverse';

const convertText = (string) => {

  if (string[0] === '') {
    return ''
  }

  if (string[0] === string[0].toUpperCase()) {
    return string
  }
  else if (string[0] !== string[0].toUpperCase()) {
    return reverse(string)
  }
    else {
      return ''
    }
};

export default convertText;
  • Вопрос задан
  • 309 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
AgentSmith72
@AgentSmith72
JS - это моё хобби
Раз попробуешь тернарные операторы и уже не сможешь от них отказаться)

const convertText = (string) => {
    return !string ? '' : (string[0] === string[0].toUpperCase() ? string : string.split('').reverse().join(''));
};
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
const isLetter = (c) => {
  if (c === '_' || c === '$') {
    return false;
  }
  try {
    eval(`let ${c};`);
    return true;
  } catch (e) {
    return false;
  }
}

const isUpperCase = (c) => c === c.toUpperCase();

const convertText = (string) => {
  for (let i = 0; i < string.length; i += 1) {
    if (isLetter(string[i])) {
      return isUpperCase(string[i]) ? string : reverse(string);
    }
  }
  return reverse(string);
}


С современными регулярками вспомогательные функции меняются на
const isLetter = (c) => /\p{L}/u.test(c);

const isUpperCase = (c) => /\p{Lu}/u.test(c);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы