Да хрен его знает как. Вы же ничего конкретного не рассказали. Какая-то "структура html" - что это, где это, что значит "постоянно меняется"... ничего не понятно.
а не как сейчас, по завершению показывает все девятки и отчет идет заново
Если это так - значит вы показали один код, а реально используете какой-то другой. Не вижу никаких девяток и повторного отсчета. Воспроизведите свою проблему в песочнице, тогда будет, о чём говорить.
Это копирование переданного в функцию массива, чтобы не испортить оригинал - так как выполняется сортировка, удаление нулевого элемента, изменение верхних границ интервалов.
Да хрен его знает как. Вы же ничего конкретного не рассказали. Какая-то "структура html" - что это, где это, что значит "постоянно меняется"... ничего не понятно.