Цитата:
|
А у Array есть методы pop, shift etc.
|
Да, но они тоже изменяют массив. Там за кадром при увеличении длины массива, создается новый массив, длиннее предыдущего раза в полтора, и в него копируются все элементы исходного, а исходный уничтожается. После чего в новом уже есть пустые ячейки, куда и будут "вталкиваться" вот эти новые элементы. Это инфа из книжек, я не сам придумал. Правда читал это по джаве (в курсе OCPJP), но что-то мне подсказывает, что здесь механизм точно такой же. То есть как бы динамические массивы - это все миф, на самом деле все массивы имеют статическую длину, но можно создать иллюзию динамики за счет таких вот махинаций.
Вывод, в данном случае будет быстрее и проще сначала обработать строку регуляркой, а уже потом собрать из нее правильный массив. Хотя по поводу скорости регулярных выражений тоже утверждать не могу. Так же инфа из книжек (конкретно из Дж. Фриддла - Регулярные выражения). Но если кому интересно, можете провести тест скорости