Цитата:
-Думаю, что да. А Вы? P.S. можно, конечно, перед присвоением свойств объекту все примитивные типы еще погружать в объекты-оболочки, чтобы такие объекты копировались уже по ссылке... но не масло ли масляное? |
Цитата:
Я написал о двух проблемах в топике. Первую обсудили (будем так считать ). А что делать со второй? У меня есть своё решение с помощью создания второй копии массива m2={}, но оно мне не нравится по потреблению ресурсов (в какое-то время будет существовать две копии боольших массивов), поэтому хотелось бы услышать мнение профессионалов по более изящному варианту решения. |
Цитата:
|
Цитата:
|
Цитата:
Ну да черт с ним. А по вопросу сортировки свойств в объекте можете что-то подсказать? Хотя, идеально было бы делать то, что я назвал "переименованием" свойств объекта. Знаю, что все имена (названия свойств) - это хэш-массив. Как туда добраться? Есть способ? |
Цитата:
может, всё-таки поясните, зачем нужен сей велосипед и супер сила? |
Цитата:
мы не грузим их (грузовики) в кузов, а делаем точно такие же грузовики, загружаем их в кузов, а старые (грузовики) выкидываем. -во как ;) Цитата:
есть js-объект m, содержащий другие js-объекты (с черти-каким содержимым - там некие структуры и шифрованные данные). Назовем их "контейнеры". Все свойства объекта m нумеруются (обзываются) натуральными числами от 0 до nn=10000. Этим свойствам присвоены контейнеры. Требуется удалить любое свойство n при этом все остальные свойства от n+1 до nn должны сдвинуться в сторону меньших номеров. n+1 должно стать на место n, n+2 должно стать на место n+1 и т.д. |
Маэстро,
юзайте массивы и будет вам счастье ;) |
Цитата:
Я же говорил, что у меня не массив, а объект. И заменить его на массив я не могу. Только не спрашивайте почему - не уводите дискуссию в сторону. А то, что сортировка в разных браузерах хеша ключей разная - это тоже МОЯ проблема? Кстати, сортировку по возрастанию в Хроме даже осуждают! http://habrahabr.ru/qa/3749/ Вот только интересно, кто победит? Те, кто осуждают, или компания Гугл? |
Заимстоввание методов не пробовали?
var myObj = { "0": "0", "1": "1", "2": "2", "3": "3", "length": 4 }; alert( myObj["2"] ); // 2 Array.prototype.splice.call(myObj, 2, 1); alert( myObj["2"] ); // 3 Если и это не подходит, значит, придётся реализовывать своюь структуру данных, где выборка по ключу будет O(1), и в которой так же можно будет менять ключ. мне кажется, что это будет трудно, посему желаю вам удачи. вообще, такая структура данных у правил в CSS таблицах : http://javascript.ru/forum/misc/2680...kom-liste.html я с этим сталкивался уже. в принципе, можно глянуть в исходниках на Java, как они сделали эти списки, и так же сделать на JS - это как вариант. |
Часовой пояс GMT +3, время: 01:26. |