Это немного похожий вопрос на javascript switch vs loop on array, но другой. СравнитьПреимущества по сравнению с коммутатором
function Function1 (n) {
switch (n) {
case 0:
return "apple";
break;
case 1:
return "pear";
break;
// and a few more, or many more
}
}
и
var Array2 = ["apple", "pear"]; // and more
который затем позвонить или обратиться в случае необходимости. Во-вторых, это намного опережает, но есть ли какие-то важные недостатки, а не только скорости, но и использования памяти? Будет ли ответ сильно изменяться, если в массиве будет больше случаев/элементов? Является ли ваш ответ специфичным для Javascript или общим принципом программирования? Спасибо.
Массив поиск является таким же, как поиск _Object_, который (в большинстве реализаций) делается с помощью хэш-таблицы, так что это ** ** очень быстро даже с большими структурами , Это отличается от 'switch', который фактически совпадает с серией' if's –
. Если вам нужно получить доступ к данным по индексу, используйте структуру, которая обращается к данным по индексу. Зачем переходить через несколько условных выражений или оптимизировать компилятор для поиска и обфускации кода? –
Спасибо. Нет причин, кроме как не знать, нет ли каких-либо скрытых преимуществ. :) – user3334085