Этот вопрос закрыт для ответов, так как повторяет вопрос Как сделать рефакторинг кода?
@Rebuslol

Как можно зарефакторить код?

function func(s, a, b) {
        if (s.match(/^$/)) {
            return -1;
        }
        let i = s.length - 1;
        let aIndex = -1;
        let bIndex = -1;
        while ((aIndex == -1) && (bIndex == -1) && (i > 0)) {
            if (s.substring(i, i + 1) == a) {
                aIndex = i;
            }
            if (s.substring(i, i + 1) == b) {
                bIndex = i;
            }
            i = i - 1;
        }
        if (aIndex != -1) {
            if (bIndex == -1) {
                return aIndex;
            }
            else {
                return Math.max(aIndex, bIndex);
            }
        }
        if (bIndex != -1) {
            return bIndex;
        }
        else {
            return -1;
        }
    }
  • Вопрос задан
  • 300 просмотров
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Вроде бы, сокращается до 2 строк. Но вы проверьте, напишите побольше тестов. Проверьте все, включая невероятные, значения входных параметров и их отсутствие )

spoiler
function func(s, a, b) {
  const subject = s.substr(1);
  return Math.max(subject.lastIndexOf(a[0]), subject.lastIndexOf(b[0]));

}
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы