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

Почему появляется ошибка 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;
  • Вопрос задан
  • 245 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 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);
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:03
5000 руб./за проект
18 дек. 2024, в 10:44
130000 руб./за проект
18 дек. 2024, в 10:02
7000 руб./за проект