• Теория
  • Теория

Ударим циклами по массивам!

Циклы и массивы тесно связаны между собой. Для многих операций на массивах, например, подсчёта суммы элементов, используются циклы. Теперь и вы готовы использовать цикл для обхода массива.

Для этой задачи лучше всего подойдёт цикл for. Переменная цикла будет использоваться как индекс элементов массива. Поэтому зададим ей нулевое значение и будем увеличивать в каждой итерации на единицу, пока её значение не станет равным индексу последнего элемента.

Традиционное название переменной цикла i — это сокращение от index, то есть индекса или порядкового номера. Это тоже одно из соглашений среди программистов, которое позволяет сократить код.

Ещё один стилистический момент. Как лучше писать условие выхода из цикла? Есть два варианта. Рассмотрим их на примере массива из трёх элементов:

// Первый вариант: i < usersByDay.length
// usersByDay.length == 3

Подготовка: i = 0
1 итерация: i = 0; 0 < 3? да! действия первой итерации; i = 1
2 итерация: i = 1; 1 < 3? да! действия второй итерации; i = 2
3 итерация: i = 2; 2 < 3? да! действия третьей итерации; i = 3
4 итерация: i = 3; 3 < 3? нет! Завершаем цикл!
// Второй вариант: i <= usersByDay.length - 1
// usersByDay.length - 1 == 2

Подготовка: i = 0
1 итерация: i = 0; 0 <= 2? да! действия первой итерации; i = 1
2 итерация: i = 1; 1 <= 2? да! действия второй итерации; i = 2
3 итерация: i = 2; 2 <= 2? да! действия третьей итерации; i = 3
4 итерация: i = 3; 3 <= 2? нет! Завершаем цикл!

Оба варианта условия выхода, i < usersByDay.length и i <= usersByDay.length - 1, работают одинаково. Но пока мы будем использовать второй вариант, с вычитанием единицы. Он будет напоминать нам про непривычную нумерацию элементов массива, которая начинается с нуля.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Массивы» тренажёра «Базовые структуры данных» можно после регистрации и оформления подписки.