JavaScript Hints - #1 - Как не делать лишнее при работе с массивами в JavasScript

/**
 * Оптимизация это очень важно! Если в ходе решения твоей задачи
 * у тебя есть возможность выйти из цикла раньше, то ты должен 
 * обязательно сделать это через директиву break; 
 * 
 * Либо пропустить текущую итерацию через директиву continue;
 * 
 */
 
// Входные данные

var exampleArray = [1, 2, 3, 4, 5];
var total = 0;

// Пример с array.forEach

exampleArray.forEach(function (item) {
    console.log(item);
    
    total += item;
    
    if (item === 3) {
        // cant stop here.
        
        // break; <-- не работает! (выдаст ошибку).
        // continue; <-- тоже не работает (выдаст ошибку).
    }
})

// РЕЗУЛЬТАТ: total будет равен 15, поскольку массив будет отрабатывать до конца.

// Пример c for с прерыванием всего цикла

for (var i = 0; i < exampleArray.length; i += 1) {
    var item = exampleArray[i];
    
    console.log(item);
    
    if (item === 3) {
        break; // <-- break работает, мы остановимся на 3 итерации, и массив закончит свой перебор.
    }
    
    total += item; 
}

// РЕЗУЛЬТАТ: total будет равен 3, поскольку мы вышли из цикла до того как он прошелся по всем элементам.

// Пример с директивой continue;

for (var i = 0; i < exampleArray.length; i += 1) {
    var item = exampleArray[i];
    
    console.log(item);
    
    if (item === 3) {
        continue; // <-- вместо выхода из цикла, мы просто пропускаем текущую итерацию, и переходим к следующей итерации.
                  // Тут важно понимать, что весь код который был до директивы continue, все равно исполнится. (как и в случае с break)
    }
    
    total += item;
}

// РЕЗУЛЬТАТ: total будет равен 12

  • Slider

You may also like

  • Slider
  • Slider
2 comments

John Doe

Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non | numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.

Reply