|
|
|||||
Регистрация: Mar 2012
Сообщений: 8
|
Array - избавление от undefined
Здравствуйте!
Есть некий заполненный массив соответствующим образом: var arr:Array = []; arr[ 1 ] = { a:1 }; arr[ 12 ] = { b:2 }; arr[ 123 ] = { c:3 }; trace( arr.length ); // arr.length = 124 |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Proxy
Сами сделаете себе счетчик количества свойств. |
|
|||||
Регистрация: Mar 2012
Сообщений: 8
|
Всем спасибо!
Proxy, насколько я понимаю - это способ представления решения, и к профиту явно не приведет. Я вот не указал зачем мне это нужно - это такой способ удаления большого количества ненужных обьектов пренебрегая методом splice(), присвоив элементу - undefined. fish_r, милый способ. sort() и indexOf() очень тяжелые в большом массиве, for each, конечно, быстрее. |
|
|||||
Lorem ipsum
|
Тогда лучше хранить все не в Array, а в Object и пользоваться оператором delete.
__________________
Поймай яблоко 2! |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
В Array delete тоже работает. И
это не то же самое, что Несмотря на то, что trace(arr[index]); будет выводить undefined в обоих случаях. Чтоб удалить надо именно delete . Вообще, если необходимо быстрое удаление, то надо использовать список, а не массив.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
Часовой пояс GMT +4, время: 23:51. |
|
« Предыдущая тема | Следующая тема » |
|
|