Хорошо, во-первых, как сказано выше, не изменяйте никакие итерации при итерации по нему.
и Array.filter
возвращает новый массив на основе заданного условия, и он не изменит массив, на котором он находится
если вы хотите сохранить исходный parentArray и создать новый массив без пустых массивов в parrentArray, то выполните следующее
let parentArray2 = parentArray.filter(e=>e.length !== 0)
, и вы получите новый массив, на который ссылается parentArray2
которое будет
[ [ '123', '345' ], [ '12' ] ]
и parentArray
останется без изменений, а затем вы можете вставить новый массив в parentArray2
, если вы не хотите сохранять оригинал parentArray
затем выполните следующее
parentArray = parentArray.filter(e=>e.length !== 0)
родительский массив будет инициализирован новым массивом [ [ '123', '345' ], [ '12' ] ]
, и затем вы можете вставить любой элемент массива или объект в parentArray