Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.04.2022, 14:54
Интересующийся
Отправить личное сообщение для Mr_Po Посмотреть профиль Найти все сообщения от Mr_Po
 
Регистрация: 20.04.2022
Сообщений: 10

Люди добрые и знающие помогите с расселением по номерам!!!!
Всем привет, по тихоньку осваиваю JS, прохожу курсы и тут такая задача:
Нужно создать функцию recommendRoom, которая будет подбирать наиболее подходящую комнату для указанного числа гостей adultsCount, childrenCount и babiesCount.

Теперь есть 2 вида комнат

small room до 4 человек
big room до 8 человек
Не забывай о правиле extra bed (подселить младенца). Оно действует и для 4-местных, и для 8-местных номеров.

О валидности данных можешь не беспокоиться, canTheyBook уже всё проверил. Просто верни правильную строку для заданных параметров.

Я написал код, но всё-равно не пойму как пристроить "extra bed", помогите пожалуйста с решением :
function recommendRoom(adultsCount = 0, childrenCount = 0, babiesCount = 0) {
  if (adultsCount + childrenCount <= 4) {
    return ('small room');
  }

  if (adultsCount + childrenCount <= 8) {
    return ('big room');
  }
}

Последний раз редактировалось Mr_Po, 20.04.2022 в 15:15.
Ответить с цитированием
  #2 (permalink)  
Старый 20.04.2022, 15:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Mr_Po,
возможно так ... extra bed описано расплывчато.
if ((adultsCount + childrenCount + babiesCount) <= 4)
if ((adultsCount + childrenCount + babiesCount)<= 8)
Ответить с цитированием
  #3 (permalink)  
Старый 20.04.2022, 15:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Mr_Po,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #4 (permalink)  
Старый 20.04.2022, 15:21
Интересующийся
Отправить личное сообщение для Mr_Po Посмотреть профиль Найти все сообщения от Mr_Po
 
Регистрация: 20.04.2022
Сообщений: 10

Увы, не прошло.....
Ответить с цитированием
  #5 (permalink)  
Старый 20.04.2022, 15:24
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

if (
  (adultsCount + childrenCount + babiesCount <= 4)  ||
  ((adultsCount + childrenCount + babiesCount <= 5) && (babiesCount > 0))
  ) {
    return ('small room');
} else {
    return ('big room');
}
Ответить с цитированием
  #6 (permalink)  
Старый 20.04.2022, 15:44
Интересующийся
Отправить личное сообщение для Mr_Po Посмотреть профиль Найти все сообщения от Mr_Po
 
Регистрация: 20.04.2022
Сообщений: 10

Блин тоже не проходит, в условии должно выполнятся "small room + extra bed", "big room + extra bed"........
Ответить с цитированием
  #7 (permalink)  
Старый 20.04.2022, 16:00
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

Не очень понятно что вам нужно... Может так?:

function recommendRoom(adultsCount = 0, childrenCount = 0, babiesCount = 0) {
  var sum = adultsCount + childrenCount + babiesCount;

  if (sum <= 4) {
      return ('small room');
  }

  if (sum <= 5  &&  babiesCount > 0) {
      return ('small room + extra bed');
  }

  if (sum <= 8) {
      return ('big room');
  }

  if (sum <= 9  &&  babiesCount > 0) {
      return ('big room + extra bed');
  }
}
Ответить с цитированием
  #8 (permalink)  
Старый 20.04.2022, 18:13
Интересующийся
Отправить личное сообщение для Mr_Po Посмотреть профиль Найти все сообщения от Mr_Po
 
Регистрация: 20.04.2022
Сообщений: 10

Всё решил, долго думал конечно, но итог таков, Спасибо за подсказки))))
function recommendRoom(adultsCount = 0, childrenCount = 0, babiesCount = 0) {
  const totalCount = adultsCount + childrenCount + babiesCount;

  if (totalCount === 5 && babiesCount > 0) {
    return 'small room + extra bed';
  }

  if (totalCount === 9 && babiesCount > 0) {
    return 'big room + extra bed';
  }

  if (adultsCount + childrenCount <= 4) {
    return 'small room';
  }

  if (adultsCount + childrenCount <= 8) {
    return 'big room';
  }
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добрые люди помогите с ползунком jquery ui slider SERblY Общие вопросы Javascript 91 20.04.2018 15:34
Знающие люди, помогите новичку! Roman-lev Элементы интерфейса 11 02.02.2014 14:06
помогите добрые люди alexvirgin Общие вопросы Javascript 2 15.10.2012 14:50
Помогите люди добрые! wipos (X)HTML/CSS 2 03.02.2011 09:52
Помогите люди добрые luraVefrafe jQuery 2 09.06.2010 09:16