JS Вопрос: Как мне перевести мой уровень 0 на уровень 1 в приглашении чата

#javascript #if-statement #flowchart

Вопрос:

Я работаю над диаграммой потока сообщений в чате, где вы вводите ответы, и она даст вам ответ, работая с диаграммой. Однако я не могу заставить свой первый уровень соединиться со вторым уровнем. Я могу ввести «имя», и оно вернется правильно, но когда я наберу «да», чтобы ответить, тогда вам понравится вопрос о мороженом. Я получаю неопределенный ответ. Мы будем очень признательны за любую помощь.

 let level = 0;
let path;

const getReply = (userInput) => {
if (level === 0) {
level = 1;
if (userInput === "name") {
path = "name";
return "Hello, name. Do you have like ice cream?";
}
}


if (level === 1) {
level = 2;
if (path === "yes") {
if (userInput === "yes") {
  return "Great, what flavour do you like?";
 }
 }
 

Комментарии:

1. Вы назначаете path = "name" . Вы проверяете if (path === "yes") { примечание: игнорируйте, если это намеренное поведение, я просто подумал, что это немного странно.

2. Я прокомментировал эту строку path = name, но когда я отвечаю «да» на вопрос «вам нравится мороженое», она просто возвращается неопределенной. Почему он не соединяется?

3. Потому path === "yes" что это всегда ложь

Ответ №1:

 let level = 0;

const getReply = (userInput) => {
  if (level === 0) {
    level = 1;
    return "Hello, name. Do you have like ice cream?";
  }

  if (level === 1) {
    level = 2;
    if (userInput === "yes") {
      return "Great, what flavour do you like?";
    }
  }
}

console.log(getReply('Jack'));
console.log(getReply('yes'));

level = 0;
console.log(getReply('Jill'));
console.log(getReply('no'));