- Теория
- Теория
Завершаем рефакторинг
На первом шаге рефакторинга мы избавлялись от отдельных переменных и намеренно отключили расчёт среднего значения, записав ноль в переменную averageUsers
. Пришло время «починить» этот механизм, но уже с использованием массива.
Вспоминаем, что среднее — это сумма всех элементов, делённая на их количество. Сумму в цикле мы уже посчитали, а количество элементов можем получить, используя [].length
.
Рефакторинг завершён, а вот и вишенка на торте! Теперь программа стала намного гибче и позволяет легко анализировать любые объёмы данных (за неделю, месяц, да хоть за год). Для этого нужно просто менять значения внутри массива usersByDay
.
Выполните, наконец, задачу Кекса. Проанализируйте посещаемость за последний месяц. Для этого нужно скопировать эти данные внутрь массива:
817, 1370, 752, 1247, 681, 1120, 915, 1281, 875, 1341, 757, 610, 812, 1170, 769, 1261, 845, 1289, 515, 1247, 845, 1311, 741, 1239, 812, 638, 877, 1242, 1159, 1372
Теперь программа универсальна и работает с массивами любой длины. Но есть один нюанс. Если запустить программу на пустом массиве, то средняя посещаемость получится NaN
(расшифровывается как not a number, то есть не число). Оно и понятно, ведь в формуле подсчёта среднего и делителем, и делимым будет ноль, а 0 / 0
даёт неопределённый результат, то есть NaN
. Если задуматься, это логично: мы не можем знать среднее значение несуществующих значений, поэтому можно считать, что наш алгоритм работает как нужно.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.