![]() |
цикл и массив
Код AS3:
как ее исправить ? Потому что при выполнения условия происходит уменьшение массива, следовательно и уменьшение длинны массива. |
Код AS3:
...а зачем такой странный код? |
суть заключается в следующем:
два цикла взяты для того, что бы сначала взять один элемент массива и сравнить его через цикл с другими элементами массива, не понятка получается в определении длинны массива во втором цикле, так как slice метод удаляет равный элемент взятый изначально, но этого не происходит, так как меняется длинна массива в цикле, и видать когда цикл идет снова по массиву, то длинна массива сохраняется первоначальная, а не измененная условием в цикле. вопрос, как можно изменить это? возможно, что кто-то напишет код или предложит чтонить :) |
нет, в вашем коде длина массива берется при каждой итерации
т.е. ход действий такой: в первой итерации первого цикла удаляются единицы, длина массива становится 2, срабатывает вторая итерация: первый 0 пропускается, т.к. i=2 и удаляется 2-ой 0. Все. Если сделать как я написал, то все циклы сработают по 4 раза, но результат будет такой же. Вы хотите убрать повторы? или единицы? |
надо убрать повторы. вариант(листинг) который я выложил показывает в конце 0, а должен 1 и 0.
|
Держи
Код AS3:
|
Обычно для удаления из массива, по которому бегут используют цикл в обратном порядке. Т.е. бежишь по массиву с конца
Код AS3:
|
alexberkut, вы автору темы или мне?
|
Это я всем. Полезно знать.
|
Огромное спасибо.
|
| Часовой пояс GMT +4, время: 08:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.