#javascript
#javascript
Вопрос:
Я использую условие IF внутри цикла for. У меня есть два способа сделать это :
1. Я могу использовать IF-Continue
for(let i=0;i<10;i ){
if(i%2==0) {
//doing some stuff
continue
}
console.log(i)
}
2. Я могу использовать IF-ELSE
for(let i=0;i<10;i ){
if(i%2==0){
//doing some stuff
}else{
console.log(i)
}
}
Какой способ был бы более эффективным?
Комментарии:
1. Если вы не работаете с действительно большим набором данных, это не имеет значения.
2. Кроме того, это может зависеть от интерпретатора JavaScript, поэтому вы всегда должны проводить тесты, прежде чем задавать такие вопросы. Обычно они равны
3. Почему бы не сделать это для перебора четных чисел:
for(let i = 0; i < 10; i = i 2){
?4. Из-за @codemonkey вы пропускаете часть else
5. Вероятно, это напыщенная речь о производительности
Ответ №1:
С точки зрения эффективности оба равны, поскольку оба кода перебирают все значения. если вы действительно хотите перебирать только четные числа, вы можете сделать это таким образом
for(let i=0;i<10;i=i 2){
//do some stuff
}
Комментарии:
1. Но он тоже хочет использовать случай else. итак, его второй подход в порядке.
2. Это связано не с эффективностью, а с объемом выполняемого кода (ветвь if / ветвь else). Возможно, что какой-то плохой интерпретатор javascript имеет некоторые скрытые накладные расходы…
Ответ №2:
Нет никакой разницы в том, как работает код или какой из них быстрее. continue
по сути, это то же самое, что вводить все, что указано ниже else
.
Что я делаю: если вы делаете что-то подобное, я бы использовал if/else
. Если то, что вы делаете, концептуально отличается, я бы использовал continue
пример.
Ответ №3:
Просто имея один случай if-else, использование continue
ключевого слова требуется меньше.
Пожалуйста, сначала попробуйте изучить использование ключевого слова continue .
В обоих случаях цикл будет проходить каждый раз, поэтому нет необходимости продолжать вообще.
Ответ №4:
Первый подход более эффективен. Потому что это сведет к минимуму количество выполнений.
Если вы перебираете миллион чисел, эффективность будет видна. Поскольку вы хотите выполнить некоторые задачи в обоих случаях, я предпочитаю использовать первый подход.
Однако вышеупомянутый фрагмент кода имеет сложность O(n)
в обоих случаях.
Комментарии:
1. «Первый подход более эффективен». Пожалуйста, поделитесь своими тестами