Рассмотрите возможность использования корпуса выключателя в этом примере. Корпус коммутатора - это не самый короткий способ написания кода, и он часто предлагает вам написать избыточный код (ваш пример является «хорошим примером плохого кода»).
Что ваш код делает, возможно, было написано так:
pgBool = ["TS_38", "TS_21"].indexOf(refID) > -1;
или
pgBool = refID in {"TS_38" : "", "TS_21" : ""};
(безусловно, вы хотели бы повторно использовать массив/объект, если эта функция должна быть более чем один раз).
Как я уже видел, этот ответ был опущен несколько раз, я чувствую, что ему требуется более подробное объяснение.
Прежде всего, почему использование хэш-таблицы предпочтительнее для коммутационного футляра.
Он масштабируемый. Если вы храните таблицу хеша вне функции, которая должна принять решение, вам не нужно изменять функцию, которая принимает решение, вы добавляете или удаляете ключ из таблицы, что является более гибким и позволяет читать более код. Он также позволяет выполнять изменения во время выполнения, что невозможно при использовании коммутатора.
Хэш-стол называется так, потому что он хэширует ключи, гарантируя, что время доступа значения, хранящегося в таблице, является постоянным (и обычно очень маленьким). В то же время коммутационный регистр, закодированный в AS3, как простая цепочка предложений if-else, что означает, что чем дольше срок действия коммутатора, тем больше времени потребуется для проверки функции для каждого условия. В то время как коммутационный корпус дает вам определенный контроль над порядком, в котором тестируются условия, вы редко можете сказать заранее, что будет срабатывать чаще. Хэш-стол будет относиться ко всем условиям одинаково.
Это означает, что на практике существует никогда причина предпочесть включение случае хэш-таблицу.Некоторые языки, например, Python, даже не имеют такой конструкции по тем же причинам.
Сладкие благодаря это работает! Это было быстро: D –
Добро пожаловать :) Почему у вас есть два одинаковых случая? –
О, это было случайно, хе-хе, мне там было 30, и они быстро удаляли их ... –