@dc65k

Как привести несколько условий в тернарном операторе в базовому виду?

Всем привет. Подскажите, как привести следующий тернарный оператор к базовому виду?

let validStart = isHorizontal ? randomStartIndex <= width * width - ship.length ? randomStartIndex :
    width * width - ship.length :
    randomStartIndex <= width * width - width * ship.length ? randomStartIndex :
        randomStartIndex - ship.length * width + width


Необходимо правильно пописать вложенность.
Пример:
let validStart

if (isHorizontal) {

    if (randomStartIndex <= width * width - ship.length) {

        if (randomStartIndex) {
            validStart = width * width - ship.length
        } else {
            if (randomStartIndex <= width * width - width * ship.length) {
                validStart = randomStartIndex
            } else {
                validStart = randomStartIndex - ship.length * width + width
            }
        }
    }
}
  • Вопрос задан
  • 170 просмотров
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
https://converter.website-dev.eu/

if (isHorizontal) {
	if (randomStartIndex <= width * width - ship.length) {
		randomStartIndex
	} else {
		width * width - ship.length
	}
} else {
	if (randomStartIndex <= width * width - width * ship.length) {
		randomStartIndex
	} else {
		randomStartIndex - ship.length * width + width
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы