Зависания при удалении из списка map
Есть список на 2 миллиона записей и функция, каждый раз обрабатывающая и удаляющая 100 тыс. записей (map.delete). Список глобальный. Первые проходы обрабатываются быстро, записи удаляются, список уменьшается. Но чем дальше, тем дольше выполняется операция. Хотя вроде бы должно быть наоборот, список становится меньше. Если бы все тормозило сразу, то было бы понятно, что ресурсов не хватает. Но здесь программа несколько десятков раз выполняется быстро, и ближе к концу списка начинает висеть. В чем может быть проблема, и как с этим можно бороться? Среда браузера.
for (let i=1;i<100000;i++){
const arr = all_tikets.entries()
let idx = arr.next().value
// код
if (idx[1]>0){
// код
}
else {
// код
}
all_tikets.delete(idx[0])
delete idx // добавил, но проблему это не решило
}