Зацикливание оператора Switch в скрипте приложения - PullRequest
0 голосов
/ 09 октября 2018

У меня есть объект с парами ключ-значение, состоящими из вопросов и ответов.Есть несколько разных способов задать вопрос, поэтому я пытаюсь сгруппировать вопросы, которые имеют одинаковое значение, используя оператор switch и функцию js match.

{ 'Name?' : 'bob', q2: a2, .......}

Я хочу просмотреть объекты и найтичастичное совпадение между элементами массива и ключами объекта.Пока у меня есть:

switch (/terms/.test(key)) {

  case ( terms ="Name|What's Your Name?"):
    text = "matched";
    break;

  default:
    text = "default";
    Logger.log(key);

}

        Logger.log(text)




  });

Вывод частично показывает:

18-10-09 15:37:41:415 EDT] *What's Your Name?* 
[18-10-09 15:37:41:416 EDT] default

Очевидно, что совпадение не происходит.Как я могу заставить это работать?

РЕДАКТИРОВАТЬ:

Я изменил свой код на:

Object.keys(obj).forEach(function(key) {

switch (true) {

     case (/^Name|term2$/.test(key)):         
    text = "MATCHED!!!!";
    break;
  case 0:
  case 6:
    //        text = "It is Weekend";
    break;
  default:
    text = "default";
    Logger.log(key);

}

        Logger.log(text)


  });

Все еще не соответствует.

1 Ответ

0 голосов
/ 09 октября 2018

Вы можете комбинировать переключатели следующим образом:

switch (key) {
  case 'Name':
  case 'What\'s Your Name?':
    // Do something
    break;

  default:
    // Do something
}

Этот код эквивалентен:

if (key === 'Name' || key === 'What\'s Your Name?') {
  // Do something
} else {
 // Do something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...