dimonchik2013: В этом году дни отдыха 7, 8, 9 мая. То есть 9 мая многие вернуться домой, а 10 мая уже рабочий, сокращенный день. Как думаете, это лучше, чем если отдах 9-12 мая ?
Юрий: имел ввиду не посто заменить примитивные типы на объекты, а избавиться от шифт и поп.
а что если: предположим, у нас все элементы массива это ссылочные типы (массивы, объекты). Тогда каждый индекс массива хранит лишь ссылку. Можно тогда просто сделать так, чтобы при вставке нулевой индекс получал ссылку на новый элемент, первый индекс получал ссылку на тот элемент массива, который до вставки был нулевым и т.д. тогда последний индекс просто перестанет ссылаться на старый элемент и сборщик мусора его сам удалит?
И реализовать это через буфферные переменные, в цикле переприсваивая индексам массива элементы. То есть индекс n получает элемент индекса n-1. Последний, тот который length-1 удаляется без шифт,как бы попадает. А первым индексом то есть нулевым становится новый вставленный объект.
Прошу пощения что не могу привести код, с планшета и это набирать больно.
Юрий: Спасибо! Насколько я понял в случае, когда массив очень мал и все элементы будут ссылочного типа, то вполне возможен вариант с переприсваиванием ссылок на элементы для каждого индекса массива, как описано выше в комментариях.
Stalker_RED: да, придется, но это можно сделать одним циклом, буфетной переменной и операциями присваивания, то есть не вызывать две функции, то есть может быть менее накладно. В общем надо замерять. Да, яваскрипт.
Алексей Соломин: а что если: предположим, у нас все элементы массива это ссылочные типы (массивы, объекты). Тогда каждый индекс массива хранит лишь ссылку. Можно тогда просто сделать так, чтобы при вставке нулевой индекс получал ссылку на новый элемент, первый индекс получал ссылку на тот элемент массива, который до вставки был нулевым и т.д. тогда последний индекс просто перестанет ссылаться на старый элемент и сборщик мусора его сам удалит?
Но проги показывают что каждая по отдельности имеет R9S48G3206U2S