Давайте оптимизируем это. Как насчет написать функцию deleteRecursively(), которая не будет требовать для своего вызова создания нового массива?